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 2008/04/24 09:55:13 UTC

svn commit: r651181 - in /incubator/tuscany/java/sca: modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/ modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/ ...

Author: jsdelfino
Date: Thu Apr 24 00:55:06 2008
New Revision: 651181

URL: http://svn.apache.org/viewvc?rev=651181&view=rev
Log:
Fixed name of node composite builder. Updated the DistributeComponents sample that I forgot to update in the previous commit.

Added:
    incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java   (contents, props changed)
      - copied, changed from r651179, incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeConfigurationBuilderImpl.java
Removed:
    incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeConfigurationBuilderImpl.java
Modified:
    incubator/tuscany/java/sca/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java
    incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
    incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/DistributeComponents.java
    incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/WireComponents.java

Copied: incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java (from r651179, incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeConfigurationBuilderImpl.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java?p2=incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java&p1=incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeConfigurationBuilderImpl.java&r1=651179&r2=651181&rev=651181&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeConfigurationBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java Thu Apr 24 00:55:06 2008
@@ -43,9 +43,9 @@
  *
  * @version $Rev$ $Date$
  */
-public class NodeConfigurationBuilderImpl extends BaseConfigurationBuilderImpl implements CompositeBuilder {
+public class NodeCompositeBuilderImpl extends BaseConfigurationBuilderImpl implements CompositeBuilder {
     
-    public NodeConfigurationBuilderImpl(AssemblyFactory assemblyFactory,
+    public NodeCompositeBuilderImpl(AssemblyFactory assemblyFactory,
                                                   SCABindingFactory scaBindingFactory,
                                                   InterfaceContractMapper interfaceContractMapper,
                                                   SCADefinitions policyDefinitions,

Propchange: incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/tuscany/java/sca/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java?rev=651181&r1=651180&r2=651181&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java Thu Apr 24 00:55:06 2008
@@ -76,7 +76,7 @@
                 }
             }
         };
-        configurationBuilder = new NodeConfigurationBuilderImpl(assemblyFactory, scaBindingFactory, null, null, monitor);
+        configurationBuilder = new NodeCompositeBuilderImpl(assemblyFactory, scaBindingFactory, null, null, monitor);
         Binding defaultBinding = new TestBindingImpl();
         defaultBinding.setURI("http://myhost:8080/root");
         defaultBindings.add(defaultBinding);

Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java?rev=651181&r1=651180&r2=651181&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java Thu Apr 24 00:55:06 2008
@@ -87,7 +87,7 @@
 import org.apache.tuscany.sca.implementation.data.collection.LocalItemCollection;
 import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
 import org.apache.tuscany.sca.implementation.node.NodeImplementation;
-import org.apache.tuscany.sca.implementation.node.builder.impl.NodeConfigurationBuilderImpl;
+import org.apache.tuscany.sca.implementation.node.builder.impl.NodeCompositeBuilderImpl;
 import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.sca.monitor.Monitor;
 import org.apache.tuscany.sca.monitor.MonitorFactory;
@@ -183,7 +183,7 @@
         InterfaceContractMapper contractMapper = utilities.getUtility(InterfaceContractMapper.class);
         compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, intentAttachPointTypeFactory, contractMapper, monitor);
         compositeIncludeBuilder = new CompositeIncludeBuilderImpl(monitor);
-        nodeConfigurationBuilder = new NodeConfigurationBuilderImpl(assemblyFactory, scaBindingFactory, contractMapper, null, monitor);
+        nodeConfigurationBuilder = new NodeCompositeBuilderImpl(assemblyFactory, scaBindingFactory, contractMapper, null, monitor);
     }
     
     public Entry<String, Item>[] getAll() {

Modified: incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/DistributeComponents.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/DistributeComponents.java?rev=651181&r1=651180&r2=651181&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/DistributeComponents.java (original)
+++ incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/DistributeComponents.java Thu Apr 24 00:55:06 2008
@@ -22,6 +22,7 @@
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.IOException;
 import java.net.URI;
 import java.net.URL;
 import java.util.HashSet;
@@ -31,11 +32,16 @@
 import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
+import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.Component;
+import org.apache.tuscany.sca.assembly.ComponentService;
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.SCABindingFactory;
 import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
@@ -46,6 +52,7 @@
 import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
 import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeDocumentProcessor;
 import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeProcessor;
+import org.apache.tuscany.sca.binding.atom.AtomBindingFactory;
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
@@ -57,6 +64,7 @@
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
+import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
 import org.apache.tuscany.sca.contribution.xml.ContributionGeneratedMetadataDocumentProcessor;
 import org.apache.tuscany.sca.contribution.xml.ContributionMetadataDocumentProcessor;
 import org.apache.tuscany.sca.contribution.xml.ContributionMetadataProcessor;
@@ -65,6 +73,9 @@
 import org.apache.tuscany.sca.core.ModuleActivator;
 import org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint;
 import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.implementation.node.NodeImplementation;
+import org.apache.tuscany.sca.implementation.node.NodeImplementationFactory;
+import org.apache.tuscany.sca.implementation.node.builder.impl.NodeCompositeBuilderImpl;
 import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.sca.monitor.Monitor;
 import org.apache.tuscany.sca.monitor.MonitorFactory;
@@ -78,6 +89,7 @@
 import org.apache.xml.serialize.OutputFormat;
 import org.apache.xml.serialize.XMLSerializer;
 import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
 
 /**
  * Sample DistributeComponents task
@@ -99,7 +111,8 @@
  * deployable composites in a composite model representing an SCA domain, then
  * uses several composite builder utilities to configure them as specified in the
  * SCA nodes hosting them and assemble and wire them together.
- * Finally it prints the resulting domain composite model.
+ * Finally it prints the resulting domain composite model, showing service bindings
+ * configured with the URIs from the nodes hosting them.
  *
  * @version $Rev$ $Date$
  */
@@ -113,7 +126,10 @@
     private static XMLOutputFactory outputFactory;
     private static StAXArtifactProcessor<Object> xmlProcessor; 
     private static ContributionDependencyBuilder contributionDependencyBuilder;
-    private static CompositeBuilder compositeBuilder;
+    private static CompositeBuilder domainCompositeBuilder;
+    private static CompositeBuilder nodeCompositeBuilder;
+    private static NodeImplementationFactory nodeFactory;
+    private static AtomBindingFactory atomBindingFactory;
 
     private static void init() {
         
@@ -136,6 +152,8 @@
         workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class); 
         assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
         PolicyFactory policyFactory = modelFactories.getFactory(PolicyFactory.class);
+        nodeFactory = modelFactories.getFactory(NodeImplementationFactory.class);
+        atomBindingFactory = modelFactories.getFactory(AtomBindingFactory.class);
         
         // Create XML and document artifact processors
         StAXArtifactProcessorExtensionPoint xmlProcessorExtensions = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
@@ -175,8 +193,10 @@
         SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
         IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
         InterfaceContractMapper contractMapper = utilities.getUtility(InterfaceContractMapper.class);
-        compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, contractMapper, monitor);
+        domainCompositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, contractMapper, monitor);
         
+        // Create a node composite builder
+        nodeCompositeBuilder = new NodeCompositeBuilderImpl(assemblyFactory, scaBindingFactory, contractMapper, null, monitor);
     }
     
 
@@ -219,6 +239,42 @@
             }
         }
         
+        // Create a set of nodes, and assign the sample deployables to them
+        Composite cloudComposite = assemblyFactory.createComposite();
+        cloudComposite.setName(new QName("http://sample", "cloud"));
+        for (int i = 0, n = workspace.getDeployables().size(); i < n; i++) {
+            
+            // Create a node
+            Component node = assemblyFactory.createComponent();
+            node.setName("Node" + i);
+            cloudComposite.getComponents().add(node);
+            
+            // Add default binding configuration to the node, our samples use
+            // Atom bindings so here we're just creating default Atom binding
+            // configurations, but all the other binding types can be configured
+            // like that too
+            ComponentService nodeService = assemblyFactory.createComponentService();
+            Binding binding = atomBindingFactory.createAtomBinding();
+            binding.setURI("http://localhost:" + (8100 + i));
+            nodeService.getBindings().add(binding);
+            node.getServices().add(nodeService);
+
+            // Assign a deployable to the node
+            NodeImplementation nodeImplementation = nodeFactory.createNodeImplementation();
+            Composite deployable = workspace.getDeployables().get(i);
+            nodeImplementation.setComposite(deployable);
+            node.setImplementation(nodeImplementation);
+        }
+        
+        // Print the model describing the nodes that we just built
+        System.out.println("cloud.composite");
+        print(cloudComposite);
+        System.out.println();
+        
+        // Build the nodes, this will apply their default binding configuration to the
+        // composites assigned to them
+        nodeCompositeBuilder.build(cloudComposite);
+        
         // Create a composite model for the domain
         Composite domainComposite = assemblyFactory.createComposite();
         domainComposite.setName(new QName("http://sample", "domain"));
@@ -229,12 +285,18 @@
         
         // Build the domain composite and wire the components included
         // in it
-        compositeBuilder.build(domainComposite);
+        domainCompositeBuilder.build(domainComposite);
 
         // Print out the resulting domain composite
+        System.out.println("domain.composite");
+        print(domainComposite);
+    }
+
+    private static void print(Composite composite) throws XMLStreamException, ContributionWriteException, ParserConfigurationException, SAXException, IOException {
+
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         XMLStreamWriter writer = outputFactory.createXMLStreamWriter(bos);
-        xmlProcessor.write(domainComposite, writer);
+        xmlProcessor.write(composite, writer);
         
         // Parse and write again to pretty format it
         DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
@@ -245,5 +307,4 @@
         XMLSerializer serializer = new XMLSerializer(System.out, format);
         serializer.serialize(document);
     }
-
 }

Modified: incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/WireComponents.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/WireComponents.java?rev=651181&r1=651180&r2=651181&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/WireComponents.java (original)
+++ incubator/tuscany/java/sca/samples/domain-management/src/main/java/manager/WireComponents.java Thu Apr 24 00:55:06 2008
@@ -107,7 +107,7 @@
     private static XMLOutputFactory outputFactory;
     private static StAXArtifactProcessor<Object> xmlProcessor; 
     private static ContributionDependencyBuilder contributionDependencyBuilder;
-    private static CompositeBuilder compositeBuilder;
+    private static CompositeBuilder domainCompositeBuilder;
 
     private static void init() {
         
@@ -169,7 +169,7 @@
         SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
         IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
         InterfaceContractMapper contractMapper = utilities.getUtility(InterfaceContractMapper.class);
-        compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, contractMapper, monitor);
+        domainCompositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, contractMapper, monitor);
         
     }
     
@@ -223,7 +223,7 @@
         
         // Build the domain composite and wire the components included
         // in it
-        compositeBuilder.build(domainComposite);
+        domainCompositeBuilder.build(domainComposite);
 
         // Print out the resulting domain composite
         ByteArrayOutputStream bos = new ByteArrayOutputStream();