You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/05/06 06:35:49 UTC

svn commit: r400236 - in /incubator/tuscany/java/sca: containers/container.java/src/main/java/org/apache/tuscany/container/java/config/ containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/ containers/container.java/src...

Author: jmarino
Date: Fri May  5 21:35:48 2006
New Revision: 400236

URL: http://svn.apache.org/viewcvs?rev=400236&view=rev
Log:
fix for TUSCANY-299

Modified:
    incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/HelloWorldMCImpl.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java
    incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/ModuleScopeComponent.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/client/TuscanyRuntime.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/CompositeContextImpl.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/ContextFactoryBuilderSupport.java

Modified: incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java?rev=400236&r1=400235&r2=400236&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java Fri May  5 21:35:48 2006
@@ -214,7 +214,6 @@
      * responsible for injecting them into the reference
      */
     private Injector createReferenceInjector(String refName, List<SourceWireFactory> wireFactories, boolean multiplicity) {
-        assert wireFactories.size() > 0;
         Class refClass = wireFactories.get(0).getBusinessInterface(); //reference.getPort().getServiceContract().getInterface();
         // iterate through the targets
         List<ObjectFactory> objectFactories = new ArrayList<ObjectFactory>();

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/HelloWorldMCImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/HelloWorldMCImpl.java?rev=400236&r1=400235&r2=400236&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/HelloWorldMCImpl.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/integration/HelloWorldMCImpl.java Fri May  5 21:35:48 2006
@@ -29,8 +29,15 @@
     @Property
     public String locale;
 
+    public void setGreetingProvider(GreetingProvider greetingProvider) {
+        this.greetingProvider2 = greetingProvider;
+    }
+
     @Reference(name="greetingProvider")
     public GreetingProvider greetingProvider2;
+
+    @Reference(required=false)
+    public GreetingProvider foo;
 
     public String getGreetings(String name) {
         return greetingProvider2.getGreeting(name, locale);

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java?rev=400236&r1=400235&r2=400236&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java Fri May  5 21:35:48 2006
@@ -45,6 +45,7 @@
 import org.apache.tuscany.container.java.mock.components.SourceImpl;
 import org.apache.tuscany.container.java.mock.components.Target;
 import org.apache.tuscany.container.java.mock.components.TargetImpl;
+import org.apache.tuscany.container.java.mock.components.ModuleScopeComponent;
 import org.apache.tuscany.core.builder.BuilderException;
 import org.apache.tuscany.core.builder.ContextFactory;
 import org.apache.tuscany.core.builder.ContextFactoryBuilder;
@@ -175,7 +176,7 @@
         return sc;
     }
 
-    public static AtomicComponent createNonIntrospectedComponent(String name, Class type, Scope scope) throws ConfigurationLoadException {
+    public static AtomicComponent createNonIntrospectedComponent(String name, Class service,  Class type, Scope scope) throws ConfigurationLoadException {
          AtomicComponent sc = factory.createSimpleComponent();
          JavaImplementation impl = factory.createJavaImplementation();
          impl.setComponentInfo(factory.createComponentInfo());
@@ -183,7 +184,7 @@
          sc.setImplementation(impl);
          Service s = factory.createService();
          JavaServiceContract ji = factory.createJavaServiceContract();
-         ji.setInterface(type);
+         ji.setInterface(service);
          s.setServiceContract(ji);
          ji.setScope(scope);
          impl.getComponentInfo().getServices().add(s);
@@ -302,8 +303,8 @@
      * Creates a module with a Java-based "target" component wired to a "source"
      */
     public static Module createModule(Scope sourceScope, Scope targetScope) throws ConfigurationLoadException {
-        Component sourceComponent = createNonIntrospectedComponent("source", ModuleScopeComponentImpl.class, sourceScope);
-        Component targetComponent = createNonIntrospectedComponent("target", ModuleScopeComponentImpl.class, targetScope);
+        Component sourceComponent = createNonIntrospectedComponent("source", ModuleScopeComponent.class, ModuleScopeComponentImpl.class, sourceScope);
+        Component targetComponent = createNonIntrospectedComponent("target", ModuleScopeComponent.class, ModuleScopeComponentImpl.class, targetScope);
 
         Service targetService = factory.createService();
         JavaServiceContract targetContract = factory.createJavaServiceContract();

Modified: incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/ModuleScopeComponent.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/ModuleScopeComponent.java?rev=400236&r1=400235&r2=400236&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/ModuleScopeComponent.java (original)
+++ incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/ModuleScopeComponent.java Fri May  5 21:35:48 2006
@@ -23,7 +23,9 @@
  */
 @Scope("MODULE")
 public interface ModuleScopeComponent extends GenericComponent {
+    public GenericComponent getGenericComponent();
 
+    public String getString();
     //public boolean isInit();
 }
 

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/client/TuscanyRuntime.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/client/TuscanyRuntime.java?rev=400236&r1=400235&r2=400236&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/client/TuscanyRuntime.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/client/TuscanyRuntime.java Fri May  5 21:35:48 2006
@@ -78,6 +78,7 @@
      * @throws ConfigurationException if there was a problem loading the SCA configuration
      */
     public TuscanyRuntime(String name, String uri, MonitorFactory monitorFactory) throws ConfigurationException {
+        assert(monitorFactory != null): "monitor factory was null";
         this.monitor = monitorFactory.getMonitor(Monitor.class);
 
         // Create an assembly model context

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/CompositeContextImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/CompositeContextImpl.java?rev=400236&r1=400235&r2=400236&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/CompositeContextImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/CompositeContextImpl.java Fri May  5 21:35:48 2006
@@ -20,7 +20,6 @@
 import org.osoa.sca.RequestContext;
 import org.osoa.sca.ServiceReference;
 import org.osoa.sca.ServiceUnavailableException;
-import org.osoa.sca.ServiceRuntimeException;
 
 import org.apache.tuscany.core.context.AutowireContext;
 import org.apache.tuscany.core.context.CompositeContext;

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/ContextFactoryBuilderSupport.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/ContextFactoryBuilderSupport.java?rev=400236&r1=400235&r2=400236&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/ContextFactoryBuilderSupport.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/extension/ContextFactoryBuilderSupport.java Fri May  5 21:35:48 2006
@@ -126,6 +126,11 @@
             List<ConfiguredReference> configuredReferences = component.getConfiguredReferences();
             if (configuredReferences != null) {
                 for (ConfiguredReference reference : configuredReferences) {
+                    if (reference.getPort().getMultiplicity() == Multiplicity.ZERO_N || reference.getPort().getMultiplicity() == Multiplicity.ZERO_ONE){
+                        if (reference.getTargetConfiguredServices().size() < 1 && reference.getTargets().size() <1 ){
+                            continue; // not required, not configured fix TUSCANY-299 
+                        }
+                    }
                     List<SourceWireFactory> wireFactories = wireFactoryService.createSourceFactory(reference);
                     String refName = reference.getPort().getName();
                     Class refClass = reference.getPort().getServiceContract().getInterface();