You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/05/03 06:36:45 UTC

svn commit: r534704 - in /incubator/tuscany/java/sca/modules: assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ contribution-impl/src/main/java/org/apache/tuscany/contribution/servic...

Author: jsdelfino
Date: Wed May  2 21:36:42 2007
New Revision: 534704

URL: http://svn.apache.org/viewvc?view=rev&rev=534704
Log:
Removed the wiring of a composite from CompositeProcessor since it's done in the CompositeActivator now. Removed the wire method from artifact processors since it's not used at all anymore.

Modified:
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessorExtension.java
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultCompositeActivator.java
    incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java Wed May  2 21:36:42 2007
@@ -34,7 +34,6 @@
 import org.apache.tuscany.contribution.resolver.ArtifactResolver;
 import org.apache.tuscany.contribution.service.ContributionReadException;
 import org.apache.tuscany.contribution.service.ContributionResolveException;
-import org.apache.tuscany.contribution.service.ContributionWireException;
 import org.apache.tuscany.contribution.service.ContributionWriteException;
 
 /**
@@ -89,10 +88,6 @@
     
     public void resolve(ComponentType componentType, ArtifactResolver resolver) throws ContributionResolveException {
         extensionProcessor.resolve(componentType, resolver);
-    }
-    
-    public void wire(ComponentType componentType) throws ContributionWireException {
-        extensionProcessor.wire(componentType);
     }
     
     public String getArtifactType() {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java Wed May  2 21:36:42 2007
@@ -34,7 +34,6 @@
 import org.apache.tuscany.contribution.resolver.ArtifactResolver;
 import org.apache.tuscany.contribution.service.ContributionReadException;
 import org.apache.tuscany.contribution.service.ContributionResolveException;
-import org.apache.tuscany.contribution.service.ContributionWireException;
 import org.apache.tuscany.contribution.service.ContributionWriteException;
 
 /**
@@ -88,10 +87,6 @@
     
     public void resolve(Composite composite, ArtifactResolver resolver) throws ContributionResolveException {
         extensionProcessor.resolve(composite, resolver);
-    }
-
-    public void wire(Composite composite) throws ContributionWireException {
-        extensionProcessor.wire(composite);
     }
 
     public String getArtifactType() {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java Wed May  2 21:36:42 2007
@@ -483,7 +483,12 @@
         resolveContracts(composite.getReferences(), resolver);
     }
 
-    public void wire(Composite composite) throws ContributionWireException {
+    /**
+     * FIXME temporarily here, needs to move to CompositeUtil.
+     * @param composite
+     * @throws ContributionWireException
+     */
+    public void configureAndWire(Composite composite) throws ContributionWireException {
         
         // Process the composite configuration
         CompositeUtil compositeUtil = new CompositeUtil(assemblyFactory, interfaceContractMapper);

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java Wed May  2 21:36:42 2007
@@ -34,7 +34,6 @@
 import org.apache.tuscany.contribution.resolver.ArtifactResolver;
 import org.apache.tuscany.contribution.service.ContributionReadException;
 import org.apache.tuscany.contribution.service.ContributionResolveException;
-import org.apache.tuscany.contribution.service.ContributionWireException;
 import org.apache.tuscany.contribution.service.ContributionWriteException;
 
 /**
@@ -90,10 +89,6 @@
         extensionProcessor.resolve(constrainingType, resolver);
     }
     
-    public void wire(ConstrainingType constrainingType) throws ContributionWireException {
-        extensionProcessor.wire(constrainingType);
-    }
-
     public String getArtifactType() {
         return ".constrainingType";
     }

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java Wed May  2 21:36:42 2007
@@ -53,6 +53,7 @@
 public class ReadAllTestCase extends TestCase {
     private DefaultStAXArtifactProcessorExtensionPoint staxProcessors;
     private DefaultArtifactResolver resolver; 
+    private CompositeProcessor compositeProcessor;
 
     public void setUp() throws Exception {
         AssemblyFactory factory = new DefaultAssemblyFactory();
@@ -60,7 +61,8 @@
         InterfaceContractMapper mapper = new DefaultInterfaceContractMapper();
         
         staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
-        staxProcessors.addExtension(new CompositeProcessor(factory, policyFactory, mapper, staxProcessors));
+        compositeProcessor = new CompositeProcessor(factory, policyFactory, mapper, staxProcessors);
+        staxProcessors.addExtension(compositeProcessor);
         staxProcessors.addExtension(new ComponentTypeProcessor(factory, policyFactory, staxProcessors));
         staxProcessors.addExtension(new ConstrainingTypeProcessor(factory, policyFactory, staxProcessors));
 
@@ -168,7 +170,7 @@
         Composite composite = staxProcessors.read(is, Composite.class);
         assertNotNull(composite);
         staxProcessors.resolve(composite, resolver);
-        staxProcessors.wire(composite);
+        compositeProcessor.configureAndWire(composite);
 
         Component calcComponent = composite.getComponents().get(0);
         CompositeService calcCompositeService = (CompositeService)composite.getServices().get(0);

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java Wed May  2 21:36:42 2007
@@ -86,7 +86,7 @@
         assertNotNull(composite);
         
         compositeReader.resolve(composite, resolver);
-        compositeReader.wire(composite);
+        compositeReader.configureAndWire(composite);
         
         assertEquals(composite.getConstrainingType(), constrainingType);
         assertEquals(composite.getComponents().get(0).getConstrainingType(), constrainingType);
@@ -108,7 +108,7 @@
         is.close();
         
         compositeReader.resolve(composite, resolver);
-        compositeReader.wire(composite);
+        compositeReader.configureAndWire(composite);
         
         assertEquals(composite.getComponents().get(2).getImplementation(), nestedComposite);
     }

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java Wed May  2 21:36:42 2007
@@ -47,13 +47,16 @@
     private AssemblyFactory factory;
     private PolicyFactory policyFactory;
     private InterfaceContractMapper mapper;
+    private CompositeProcessor compositeProcessor;
+
 
     public void setUp() throws Exception {
         factory = new DefaultAssemblyFactory();
         policyFactory = new DefaultPolicyFactory();
         mapper = new DefaultInterfaceContractMapper();
         staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
-        staxProcessors.addExtension(new CompositeProcessor(factory, policyFactory, mapper, staxProcessors));
+        compositeProcessor = new CompositeProcessor(factory, policyFactory, mapper, staxProcessors);
+        staxProcessors.addExtension(compositeProcessor);
         staxProcessors.addExtension(new ComponentTypeProcessor(factory, policyFactory, staxProcessors));
         staxProcessors.addExtension(new ConstrainingTypeProcessor(factory, policyFactory, staxProcessors));
         resolver = new DefaultArtifactResolver(getClass().getClassLoader());
@@ -78,7 +81,7 @@
         InputStream is = getClass().getResourceAsStream("TestAllCalculator.composite");
         Composite composite = staxProcessors.read(is, Composite.class);
         staxProcessors.resolve(composite, resolver);
-        staxProcessors.wire(composite);
+        compositeProcessor.configureAndWire(composite);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         staxProcessors.write(composite, bos);
     }
@@ -87,7 +90,6 @@
         InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType");
         ComponentType componentType = staxProcessors.read(is, ComponentType.class);
         staxProcessors.resolve(componentType, resolver);
-        staxProcessors.wire(componentType);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         staxProcessors.write(componentType, bos);
     }
@@ -96,7 +98,6 @@
         InputStream is = getClass().getResourceAsStream("CalculatorComponent.constrainingType");
         ConstrainingType constrainingType = staxProcessors.read(is, ConstrainingType.class);
         staxProcessors.resolve(constrainingType, resolver);
-        staxProcessors.wire(constrainingType);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         staxProcessors.write(constrainingType, bos);
     }

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java Wed May  2 21:36:42 2007
@@ -266,8 +266,6 @@
 
         processReadPhase(contribution, contributionArtifacts);
         processResolvePhase(contribution);
-        processOptimizationPhase(contribution);
-        
         processDeployables(contribution);
         
         // store the contribution on the registry
@@ -327,19 +325,6 @@
         
         contribution.getDeployables().clear();
         contribution.getDeployables().addAll(resolvedDeployables);
-    }
-
-    /**
-     * @param contribution
-     * @throws ContributionException
-     */
-    private void processOptimizationPhase(Contribution contribution) throws ContributionException {
-        // for each artifact that was processed on the contribution
-        for (DeployedArtifact artifact : contribution.getArtifacts().values()) {
-            // resolve the model object
-            this.artifactProcessor.wire(artifact.getModelObject());
-        }
-
     }
 
     /**

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessorExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessorExtension.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessorExtension.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessorExtension.java Wed May  2 21:36:42 2007
@@ -20,7 +20,6 @@
 
 import org.apache.tuscany.contribution.resolver.ArtifactResolver;
 import org.apache.tuscany.contribution.service.ContributionResolveException;
-import org.apache.tuscany.contribution.service.ContributionWireException;
 
 
 
@@ -39,14 +38,6 @@
      * @param the resolver to use to resolve referenced models
      */
     void resolve(M model, ArtifactResolver resolver) throws ContributionResolveException;
-    
-    /**
-     * Wire and optimize a model for consumption by an SCA runtime. In addition to wiring references
-     * to services, this can include applying policies at different levels, or determining the configuration
-     * of services, references and properties in nested compositions for example.
-     * @param model the model to optimize
-     */
-    void wire(M model) throws ContributionWireException;
     
     /**
      * Returns the type of model handled by this artifact processor.

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java Wed May  2 21:36:42 2007
@@ -33,7 +33,6 @@
 import org.apache.tuscany.contribution.resolver.ArtifactResolver;
 import org.apache.tuscany.contribution.service.ContributionReadException;
 import org.apache.tuscany.contribution.service.ContributionResolveException;
-import org.apache.tuscany.contribution.service.ContributionWireException;
 import org.apache.tuscany.contribution.service.ContributionWriteException;
 import org.apache.tuscany.contribution.service.UnrecognizedElementException;
 
@@ -101,18 +100,6 @@
         }
     }
     
-    public void wire(Object model) throws ContributionWireException {
-
-        // Delegate to the processor associated with the model type
-        if (model != null) {
-            StAXArtifactProcessorExtension<Object> processor = 
-                (StAXArtifactProcessorExtension<Object>)this.getProcessor((Class<Object>)model.getClass());
-            if (processor != null) {
-                processor.wire(model);
-            }
-        }
-    }
-
     /**
      * Read a model from an input stream.
      * @param is

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java Wed May  2 21:36:42 2007
@@ -24,7 +24,6 @@
 import org.apache.tuscany.contribution.resolver.ArtifactResolver;
 import org.apache.tuscany.contribution.service.ContributionReadException;
 import org.apache.tuscany.contribution.service.ContributionResolveException;
-import org.apache.tuscany.contribution.service.ContributionWireException;
 import org.apache.tuscany.contribution.service.ContributionWriteException;
 import org.apache.tuscany.contribution.service.UnrecognizedElementException;
 
@@ -85,18 +84,6 @@
                 (URLArtifactProcessorExtension<Object>)this.getProcessor((Class<Object>)model.getClass());
             if (processor != null) {
                 processor.resolve(model, resolver);
-            }
-        }
-    }
-    
-    public void wire(Object model) throws ContributionWireException {
-
-        // Delegate to the processor associated with the model type
-        if (model != null) {
-            URLArtifactProcessorExtension<Object> processor = 
-                (URLArtifactProcessorExtension<Object>)this.getProcessor((Class<Object>)model.getClass());
-            if (processor != null) {
-                processor.wire(model);
             }
         }
     }

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultCompositeActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultCompositeActivator.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultCompositeActivator.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultCompositeActivator.java Wed May  2 21:36:42 2007
@@ -30,10 +30,7 @@
 import org.apache.tuscany.assembly.ComponentReference;
 import org.apache.tuscany.assembly.ComponentService;
 import org.apache.tuscany.assembly.Composite;
-import org.apache.tuscany.assembly.CompositeReference;
 import org.apache.tuscany.assembly.Implementation;
-import org.apache.tuscany.assembly.Multiplicity;
-import org.apache.tuscany.assembly.Reference;
 import org.apache.tuscany.assembly.SCABinding;
 import org.apache.tuscany.assembly.util.CompositeUtil;
 import org.apache.tuscany.assembly.util.PrintUtil;
@@ -188,37 +185,11 @@
             } else {
                 // createSelfReferences(component);
                 for (ComponentReference reference : component.getReferences()) {
-                    // FIXME: ComponentReference.getBindings() should return the effective bindings
-//                    for (Binding binding : reference.getBindings()) {
-                for (Binding binding : getBindings(reference)) {
+                    for (Binding binding : reference.getBindings()) {
                         createWires(component, reference, binding);
                     }
                 }
             }
-        }
-    }
-
-    public void createSelfReferences(Component component) {
-        for (ComponentService service : component.getServices()) {
-            ComponentReference ref = assemblyFactory.createComponentReference();
-            ref.setName("$self$_" + service.getName());
-            ref.getBindings().addAll(service.getBindings());
-            ref.getTargets().add(service);
-            ref.getPolicySets().addAll(service.getPolicySets());
-            ref.getRequiredIntents().addAll(service.getRequiredIntents());
-            ref.setInterfaceContract(service.getInterfaceContract());
-            ref.setMultiplicity(Multiplicity.ONE_ONE);
-            component.getReferences().add(ref);
-        }
-    }
-    
-    private List<Binding> getBindings(ComponentReference reference) {
-        List<CompositeReference> list = reference.promotedAs();
-        if(!list.isEmpty()) {
-            CompositeReference compositeReference = list.get(0);
-            return compositeReference.getBindings();
-        } else {
-            return reference.getBindings();
         }
     }
 

Modified: incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java?view=diff&rev=534704&r1=534703&r2=534704
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java Wed May  2 21:36:42 2007
@@ -23,13 +23,17 @@
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 import javax.xml.stream.XMLInputFactory;
 
 import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.Base;
 import org.apache.tuscany.assembly.Composite;
 import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.assembly.util.CompositeUtil;
 import org.apache.tuscany.assembly.xml.ComponentTypeDocumentProcessor;
 import org.apache.tuscany.assembly.xml.ComponentTypeProcessor;
 import org.apache.tuscany.assembly.xml.CompositeDocumentProcessor;
@@ -180,6 +184,9 @@
 
         // Start all components
         Composite composite = (Composite)artifact.getModelObject();
+        
+        wire(composite);
+        
         Collection<Component> components = getDeployer().deploy(composite);
         for (Component component : components) {
             component.start();
@@ -207,4 +214,53 @@
         super.destroy();
     }
 
+    /**
+     * FIXME This is temporary until we move over to use the new CompositeActivator.
+     * @param composite
+     */
+    private void wire(Composite composite) {
+        // Process the composite configuration
+        CompositeUtil compositeUtil = new CompositeUtil(new DefaultAssemblyFactory(), new DefaultInterfaceContractMapper());
+
+        List<Base> problems = new ArrayList<Base>() {
+            private static final long serialVersionUID = 4819831446590718923L;
+
+            
+            @Override
+            public boolean add(Base o) {
+                //TODO Use a monitor to report configuration problems
+                
+                // Uncommenting the following two lines can be useful to detect
+                // and troubleshoot SCA assembly XML composite configuration
+                // problems.
+                
+//                System.err.println("Composite configuration problem:");
+//                new PrintUtil(System.err).print(o);
+                return super.add(o);
+            }
+        };
+        
+
+        // Collect and fuse includes
+        compositeUtil.fuseIncludes(composite, problems);
+
+        // Configure all components
+        compositeUtil.configureComponents(composite, problems);
+        
+        //FIXME this should only be done on top level deployable composites
+
+        // Expand nested composites
+        //compositeUtil.expandComposites(composite, problems);
+        
+        // Wire the composite
+        compositeUtil.wireComposite(composite, problems);
+       
+        // Uncommenting the following three lines can be useful to detect
+        // and troubleshoot SCA assembly XML composite configuration
+        // problems.
+//        if (!problems.isEmpty()) {
+//            throw new ContributionWireException("Problems in the composite...");
+//        }
+        
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org