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();