diff options
Diffstat (limited to 'branches/sca-equinox/samples/domain-management/src/main/java/manager')
5 files changed, 84 insertions, 120 deletions
diff --git a/branches/sca-equinox/samples/domain-management/src/main/java/manager/DistributeAndRunComponents.java b/branches/sca-equinox/samples/domain-management/src/main/java/manager/DistributeAndRunComponents.java index 28eede693d..8d33f55228 100644 --- a/branches/sca-equinox/samples/domain-management/src/main/java/manager/DistributeAndRunComponents.java +++ b/branches/sca-equinox/samples/domain-management/src/main/java/manager/DistributeAndRunComponents.java @@ -40,19 +40,16 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; -import javax.xml.transform.TransformerFactory; 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; -import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl; +import org.apache.tuscany.sca.assembly.builder.CompositeBuilderExtensionPoint; import org.apache.tuscany.sca.binding.atom.AtomBindingFactory; import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; @@ -63,22 +60,20 @@ import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint; import org.apache.tuscany.sca.contribution.service.ContributionWriteException; import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.core.FactoryExtensionPoint; 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; import org.apache.tuscany.sca.node.SCANode; import org.apache.tuscany.sca.node.launcher.NodeLauncher; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; import org.apache.tuscany.sca.workspace.Workspace; import org.apache.tuscany.sca.workspace.WorkspaceFactory; -import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder; -import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilder; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilderExtensionPoint; import org.apache.xml.serialize.OutputFormat; import org.apache.xml.serialize.XMLSerializer; import org.w3c.dom.Document; @@ -97,14 +92,13 @@ public class DistributeAndRunComponents { private static URLArtifactProcessor<Contribution> contributionProcessor; private static ModelResolverExtensionPoint modelResolvers; - private static ModelFactoryExtensionPoint modelFactories; + private static FactoryExtensionPoint modelFactories; private static WorkspaceFactory workspaceFactory; private static AssemblyFactory assemblyFactory; private static XMLOutputFactory outputFactory; - private static DocumentBuilderFactory documentBuilderFactory; - private static TransformerFactory transformerFactory; private static StAXArtifactProcessor<Object> xmlProcessor; - private static ContributionDependencyBuilder contributionDependencyBuilder; + private static Monitor monitor; + private static ContributionBuilder contributionDependencyBuilder; private static CompositeBuilder domainCompositeBuilder; private static CompositeBuilder nodeCompositeBuilder; private static NodeImplementationFactory nodeFactory; @@ -118,7 +112,7 @@ public class DistributeAndRunComponents { // Create a monitor UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - Monitor monitor = monitorFactory.createMonitor(); + monitor = monitorFactory.createMonitor(); // Initialize the Tuscany module activators ModuleActivatorExtensionPoint moduleActivators = extensionPoints.getExtensionPoint(ModuleActivatorExtensionPoint.class); @@ -127,11 +121,9 @@ public class DistributeAndRunComponents { } // Get XML input/output factories - modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); + modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class); XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); outputFactory = modelFactories.getFactory(XMLOutputFactory.class); - documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class); - transformerFactory = modelFactories.getFactory(TransformerFactory.class); // Get contribution workspace and assembly model factories workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class); @@ -150,19 +142,14 @@ public class DistributeAndRunComponents { // Get the model resolvers modelResolvers = extensionPoints.getExtensionPoint(ModelResolverExtensionPoint.class); - // Create a contribution dependency builder - contributionDependencyBuilder = new ContributionDependencyBuilderImpl(monitor); + // Get a contribution dependency builder + ContributionBuilderExtensionPoint contributionBuilders = extensionPoints.getExtensionPoint(ContributionBuilderExtensionPoint.class); + contributionDependencyBuilder = contributionBuilders.getContributionBuilder("org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder"); - // Create a composite builder - SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - InterfaceContractMapper contractMapper = utilities.getUtility(InterfaceContractMapper.class); - domainCompositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, - documentBuilderFactory, transformerFactory, contractMapper, monitor); - - // Create a node composite builder - nodeCompositeBuilder = new NodeCompositeBuilderImpl(assemblyFactory, scaBindingFactory, - documentBuilderFactory, transformerFactory, contractMapper, null, monitor); + // Get composite builders + CompositeBuilderExtensionPoint compositeBuilders = extensionPoints.getExtensionPoint(CompositeBuilderExtensionPoint.class); + domainCompositeBuilder = compositeBuilders.getCompositeBuilder("org.apache.tuscany.sca.assembly.builder.CompositeBuilder"); + nodeCompositeBuilder = compositeBuilders.getCompositeBuilder("org.apache.tuscany.sca.implementation.node.builder.NodeCompositeBuilder"); } @@ -192,20 +179,17 @@ public class DistributeAndRunComponents { workspace.getContributions().add(clientContribution); // Build the contribution dependencies - Map<Contribution, List<Contribution>> contributionDependencies = new HashMap<Contribution, List<Contribution>>(); Set<Contribution> resolved = new HashSet<Contribution>(); for (Contribution contribution: workspace.getContributions()) { - List<Contribution> dependencies = contributionDependencyBuilder.buildContributionDependencies(contribution, workspace); + contributionDependencyBuilder.build(contribution, workspace, monitor); // Resolve contributions - for (Contribution dependency: dependencies) { + for (Contribution dependency: contribution.getDependencies()) { if (!resolved.contains(dependency)) { resolved.add(dependency); contributionProcessor.resolve(dependency, workspace.getModelResolver()); } } - - contributionDependencies.put(contribution, dependencies); } // Create a set of nodes, and assign the sample deployables to them @@ -237,7 +221,7 @@ public class DistributeAndRunComponents { node.setImplementation(nodeImplementation); // Keep track of what contributions will be needed by the node - nodeDependencies.put(node, contributionDependencies.get(contribution)); + nodeDependencies.put(node, contribution.getDependencies()); nodeID++; } @@ -249,7 +233,7 @@ public class DistributeAndRunComponents { // Build the nodes, this will apply their default binding configuration to the // composites assigned to them - nodeCompositeBuilder.build(cloudComposite); + nodeCompositeBuilder.build(cloudComposite, null, monitor); // Create a composite model for the domain Composite domainComposite = assemblyFactory.createComposite(); @@ -260,7 +244,7 @@ public class DistributeAndRunComponents { domainComposite.getIncludes().addAll(workspace.getDeployables()); // Build the domain composite and wire the components included in it - domainCompositeBuilder.build(domainComposite); + domainCompositeBuilder.build(domainComposite, null, monitor); // Print out the resulting domain composite System.out.println("domain.composite"); diff --git a/branches/sca-equinox/samples/domain-management/src/main/java/manager/DistributeComponents.java b/branches/sca-equinox/samples/domain-management/src/main/java/manager/DistributeComponents.java index def0a1894f..899ca1f24a 100644 --- a/branches/sca-equinox/samples/domain-management/src/main/java/manager/DistributeComponents.java +++ b/branches/sca-equinox/samples/domain-management/src/main/java/manager/DistributeComponents.java @@ -26,7 +26,6 @@ import java.io.IOException; import java.net.URI; import java.net.URL; import java.util.HashSet; -import java.util.List; import java.util.Set; import javax.xml.namespace.QName; @@ -37,20 +36,16 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; -import javax.xml.transform.TransformerFactory; 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; -import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl; +import org.apache.tuscany.sca.assembly.builder.CompositeBuilderExtensionPoint; 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; import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; @@ -61,21 +56,18 @@ import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint; import org.apache.tuscany.sca.contribution.service.ContributionWriteException; import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.core.FactoryExtensionPoint; 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; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; -import org.apache.tuscany.sca.policy.PolicyFactory; import org.apache.tuscany.sca.workspace.Workspace; import org.apache.tuscany.sca.workspace.WorkspaceFactory; -import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder; -import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilder; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilderExtensionPoint; import org.apache.xml.serialize.OutputFormat; import org.apache.xml.serialize.XMLSerializer; import org.w3c.dom.Document; @@ -109,15 +101,14 @@ import org.xml.sax.SAXException; public class DistributeComponents { private static URLArtifactProcessor<Contribution> contributionProcessor; + private static Monitor monitor; private static ModelResolverExtensionPoint modelResolvers; - private static ModelFactoryExtensionPoint modelFactories; + private static FactoryExtensionPoint modelFactories; private static WorkspaceFactory workspaceFactory; private static AssemblyFactory assemblyFactory; private static XMLOutputFactory outputFactory; - private static DocumentBuilderFactory documentBuilderFactory; - private static TransformerFactory transformerFactory; private static StAXArtifactProcessor<Object> xmlProcessor; - private static ContributionDependencyBuilder contributionDependencyBuilder; + private static ContributionBuilder contributionDependencyBuilder; private static CompositeBuilder domainCompositeBuilder; private static CompositeBuilder nodeCompositeBuilder; private static NodeImplementationFactory nodeFactory; @@ -131,7 +122,7 @@ public class DistributeComponents { // Create a monitor UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - Monitor monitor = monitorFactory.createMonitor(); + monitor = monitorFactory.createMonitor(); // Initialize the Tuscany module activators ModuleActivatorExtensionPoint moduleActivators = extensionPoints.getExtensionPoint(ModuleActivatorExtensionPoint.class); @@ -140,11 +131,9 @@ public class DistributeComponents { } // Get XML input/output factories - modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); + modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class); XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); outputFactory = modelFactories.getFactory(XMLOutputFactory.class); - documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class); - transformerFactory = modelFactories.getFactory(TransformerFactory.class); // Get contribution workspace and assembly model factories workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class); @@ -163,19 +152,15 @@ public class DistributeComponents { // Get the model resolvers modelResolvers = extensionPoints.getExtensionPoint(ModelResolverExtensionPoint.class); - // Create a contribution dependency builder - contributionDependencyBuilder = new ContributionDependencyBuilderImpl(monitor); + // Get a contribution dependency builder + ContributionBuilderExtensionPoint contributionBuilders = extensionPoints.getExtensionPoint(ContributionBuilderExtensionPoint.class); + contributionDependencyBuilder = contributionBuilders.getContributionBuilder("org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder"); - // Create a composite builder - SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - InterfaceContractMapper contractMapper = utilities.getUtility(InterfaceContractMapper.class); - domainCompositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, - documentBuilderFactory, transformerFactory, contractMapper, monitor); + // Get composite builders + CompositeBuilderExtensionPoint compositeBuilders = extensionPoints.getExtensionPoint(CompositeBuilderExtensionPoint.class); + domainCompositeBuilder = compositeBuilders.getCompositeBuilder("org.apache.tuscany.sca.assembly.builder.CompositeBuilder"); + nodeCompositeBuilder = compositeBuilders.getCompositeBuilder("org.apache.tuscany.sca.implementation.node.builder.NodeCompositeBuilder"); - // Create a node composite builder - nodeCompositeBuilder = new NodeCompositeBuilderImpl(assemblyFactory, scaBindingFactory, - documentBuilderFactory, transformerFactory, contractMapper, null, monitor); } @@ -207,10 +192,10 @@ public class DistributeComponents { // Build the contribution dependencies Set<Contribution> resolved = new HashSet<Contribution>(); for (Contribution contribution: workspace.getContributions()) { - List<Contribution> dependencies = contributionDependencyBuilder.buildContributionDependencies(contribution, workspace); + contributionDependencyBuilder.build(contribution, workspace, monitor); // Resolve contributions - for (Contribution dependency: dependencies) { + for (Contribution dependency: contribution.getDependencies()) { if (!resolved.contains(dependency)) { resolved.add(dependency); contributionProcessor.resolve(dependency, workspace.getModelResolver()); @@ -252,7 +237,7 @@ public class DistributeComponents { // Build the nodes, this will apply their default binding configuration to the // composites assigned to them - nodeCompositeBuilder.build(cloudComposite); + nodeCompositeBuilder.build(cloudComposite, null, monitor); // Create a composite model for the domain Composite domainComposite = assemblyFactory.createComposite(); @@ -263,7 +248,7 @@ public class DistributeComponents { domainComposite.getIncludes().addAll(workspace.getDeployables()); // Build the domain composite and wire the components included in it - domainCompositeBuilder.build(domainComposite); + domainCompositeBuilder.build(domainComposite, null, monitor); // Print out the resulting domain composite System.out.println("domain.composite"); diff --git a/branches/sca-equinox/samples/domain-management/src/main/java/manager/ListComponents.java b/branches/sca-equinox/samples/domain-management/src/main/java/manager/ListComponents.java index 27cb31d57f..b8dee12962 100644 --- a/branches/sca-equinox/samples/domain-management/src/main/java/manager/ListComponents.java +++ b/branches/sca-equinox/samples/domain-management/src/main/java/manager/ListComponents.java @@ -22,7 +22,6 @@ package manager; import java.io.File; import java.net.URI; import java.net.URL; -import java.util.List; import org.apache.tuscany.sca.assembly.Binding; import org.apache.tuscany.sca.assembly.Component; @@ -31,13 +30,13 @@ import org.apache.tuscany.sca.assembly.Composite; import org.apache.tuscany.sca.assembly.Implementation; import org.apache.tuscany.sca.assembly.Service; import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; 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.core.DefaultExtensionPointRegistry; import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.core.FactoryExtensionPoint; import org.apache.tuscany.sca.core.ModuleActivator; import org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint; import org.apache.tuscany.sca.core.UtilityExtensionPoint; @@ -46,8 +45,8 @@ import org.apache.tuscany.sca.monitor.Monitor; import org.apache.tuscany.sca.monitor.MonitorFactory; import org.apache.tuscany.sca.workspace.Workspace; import org.apache.tuscany.sca.workspace.WorkspaceFactory; -import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder; -import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilder; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilderExtensionPoint; /** * Sample ListComponents task. @@ -68,10 +67,11 @@ import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuild public class ListComponents { private static URLArtifactProcessor<Contribution> contributionProcessor; + private static Monitor monitor; private static ModelResolverExtensionPoint modelResolvers; - private static ModelFactoryExtensionPoint modelFactories; + private static FactoryExtensionPoint modelFactories; private static WorkspaceFactory workspaceFactory; - private static ContributionDependencyBuilder contributionDependencyBuilder; + private static ContributionBuilder contributionDependencyBuilder; private static void init() { @@ -85,7 +85,7 @@ public class ListComponents { } // Get workspace contribution factory - modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); + modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class); workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class); // Create contribution content processor @@ -98,10 +98,11 @@ public class ListComponents { // Create a monitor UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - Monitor monitor = monitorFactory.createMonitor(); + monitor = monitorFactory.createMonitor(); - // Create a contribution dependency builder - contributionDependencyBuilder = new ContributionDependencyBuilderImpl(monitor); + // Get a contribution dependency builder + ContributionBuilderExtensionPoint contributionBuilders = extensionPoints.getExtensionPoint(ContributionBuilderExtensionPoint.class); + contributionDependencyBuilder = contributionBuilders.getContributionBuilder("org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder"); } @@ -125,10 +126,10 @@ public class ListComponents { workspace.getContributions().add(assetsContribution); // Build the store contribution dependencies - List<Contribution> dependencies = contributionDependencyBuilder.buildContributionDependencies(storeContribution, workspace); + contributionDependencyBuilder.build(storeContribution, workspace, monitor); // Resolve the contributions - for (Contribution contribution: dependencies) { + for (Contribution contribution: storeContribution.getDependencies()) { contributionProcessor.resolve(contribution, workspace.getModelResolver()); } diff --git a/branches/sca-equinox/samples/domain-management/src/main/java/manager/ListDependencies.java b/branches/sca-equinox/samples/domain-management/src/main/java/manager/ListDependencies.java index 1bf8124682..9e57afbee3 100644 --- a/branches/sca-equinox/samples/domain-management/src/main/java/manager/ListDependencies.java +++ b/branches/sca-equinox/samples/domain-management/src/main/java/manager/ListDependencies.java @@ -24,18 +24,18 @@ import java.net.URI; import java.net.URL; import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.core.FactoryExtensionPoint; import org.apache.tuscany.sca.core.UtilityExtensionPoint; import org.apache.tuscany.sca.monitor.Monitor; import org.apache.tuscany.sca.monitor.MonitorFactory; import org.apache.tuscany.sca.workspace.Workspace; import org.apache.tuscany.sca.workspace.WorkspaceFactory; -import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder; -import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilder; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilderExtensionPoint; /** * Sample ListDependencies task. @@ -52,8 +52,9 @@ import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuild public class ListDependencies { private static URLArtifactProcessor<Contribution> contributionProcessor; + private static Monitor monitor; private static WorkspaceFactory workspaceFactory; - private static ContributionDependencyBuilder contributionDependencyBuilder; + private static ContributionBuilder contributionDependencyBuilder; private static void init() throws Exception { @@ -61,7 +62,7 @@ public class ListDependencies { ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); // Get contribution, workspace and assembly model factories - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); + FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class); workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class); // Create contribution info processor @@ -71,10 +72,11 @@ public class ListDependencies { // Create a monitor UtilityExtensionPoint services = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); MonitorFactory monitorFactory = services.getUtility(MonitorFactory.class); - Monitor monitor = monitorFactory.createMonitor(); + monitor = monitorFactory.createMonitor(); - // Create a contribution dependency builder - contributionDependencyBuilder = new ContributionDependencyBuilderImpl(monitor); + // Get a contribution dependency builder + ContributionBuilderExtensionPoint contributionBuilders = extensionPoints.getExtensionPoint(ContributionBuilderExtensionPoint.class); + contributionDependencyBuilder = contributionBuilders.getContributionBuilder("org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder"); } @@ -99,7 +101,8 @@ public class ListDependencies { // List the contribution dependencies of each contribution for (Contribution contribution: workspace.getContributions()) { System.out.println("Contribution: " + contribution.getURI()); - for (Contribution dependency: contributionDependencyBuilder.buildContributionDependencies(contribution, workspace)) { + contributionDependencyBuilder.build(contribution, workspace, monitor); + for (Contribution dependency: contribution.getDependencies()) { System.out.println(" dependency: " + dependency.getURI()); } } diff --git a/branches/sca-equinox/samples/domain-management/src/main/java/manager/WireComponents.java b/branches/sca-equinox/samples/domain-management/src/main/java/manager/WireComponents.java index d24d5c67c9..acc18a6293 100644 --- a/branches/sca-equinox/samples/domain-management/src/main/java/manager/WireComponents.java +++ b/branches/sca-equinox/samples/domain-management/src/main/java/manager/WireComponents.java @@ -25,7 +25,6 @@ import java.io.File; import java.net.URI; import java.net.URL; import java.util.HashSet; -import java.util.List; import java.util.Set; import javax.xml.namespace.QName; @@ -38,11 +37,9 @@ import javax.xml.transform.TransformerFactory; import org.apache.tuscany.sca.assembly.AssemblyFactory; import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.SCABindingFactory; import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl; +import org.apache.tuscany.sca.assembly.builder.CompositeBuilderExtensionPoint; import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; @@ -52,17 +49,16 @@ import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver; import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint; import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.core.FactoryExtensionPoint; 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.interfacedef.InterfaceContractMapper; import org.apache.tuscany.sca.monitor.Monitor; import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; import org.apache.tuscany.sca.workspace.Workspace; import org.apache.tuscany.sca.workspace.WorkspaceFactory; -import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder; -import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilder; +import org.apache.tuscany.sca.workspace.builder.ContributionBuilderExtensionPoint; import org.apache.xml.serialize.OutputFormat; import org.apache.xml.serialize.XMLSerializer; import org.w3c.dom.Document; @@ -88,15 +84,14 @@ import org.w3c.dom.Document; public class WireComponents { private static URLArtifactProcessor<Contribution> contributionProcessor; + private static Monitor monitor; private static ModelResolverExtensionPoint modelResolvers; - private static ModelFactoryExtensionPoint modelFactories; + private static FactoryExtensionPoint modelFactories; private static WorkspaceFactory workspaceFactory; private static AssemblyFactory assemblyFactory; private static XMLOutputFactory outputFactory; - private static DocumentBuilderFactory documentBuilderFactory; - private static TransformerFactory transformerFactory; private static StAXArtifactProcessor<Object> xmlProcessor; - private static ContributionDependencyBuilder contributionDependencyBuilder; + private static ContributionBuilder contributionDependencyBuilder; private static CompositeBuilder domainCompositeBuilder; private static void init() { @@ -107,7 +102,7 @@ public class WireComponents { // Create a monitor UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - Monitor monitor = monitorFactory.createMonitor(); + monitor = monitorFactory.createMonitor(); // Initialize the Tuscany module activators ModuleActivatorExtensionPoint moduleActivators = extensionPoints.getExtensionPoint(ModuleActivatorExtensionPoint.class); @@ -116,11 +111,9 @@ public class WireComponents { } // Get XML input/output factories - modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); + modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class); XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); outputFactory = modelFactories.getFactory(XMLOutputFactory.class); - documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class); - transformerFactory = modelFactories.getFactory(TransformerFactory.class); // Get contribution workspace and assembly model factories workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class); @@ -137,15 +130,13 @@ public class WireComponents { // Get the model resolvers modelResolvers = extensionPoints.getExtensionPoint(ModelResolverExtensionPoint.class); - // Create a contribution dependency builder - contributionDependencyBuilder = new ContributionDependencyBuilderImpl(monitor); + // Get a contribution dependency builder + ContributionBuilderExtensionPoint contributionBuilders = extensionPoints.getExtensionPoint(ContributionBuilderExtensionPoint.class); + contributionDependencyBuilder = contributionBuilders.getContributionBuilder("org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder"); - // Create a composite builder - SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - InterfaceContractMapper contractMapper = utilities.getUtility(InterfaceContractMapper.class); - domainCompositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, - documentBuilderFactory, transformerFactory, contractMapper, monitor); + // Get composite builder + CompositeBuilderExtensionPoint compositeBuilders = extensionPoints.getExtensionPoint(CompositeBuilderExtensionPoint.class); + domainCompositeBuilder = compositeBuilders.getCompositeBuilder("org.apache.tuscany.sca.assembly.builder.CompositeBuilder"); } @@ -178,10 +169,10 @@ public class WireComponents { // Build the contribution dependencies Set<Contribution> resolved = new HashSet<Contribution>(); for (Contribution contribution: workspace.getContributions()) { - List<Contribution> dependencies = contributionDependencyBuilder.buildContributionDependencies(contribution, workspace); + contributionDependencyBuilder.build(contribution, workspace, monitor); // Resolve contributions - for (Contribution dependency: dependencies) { + for (Contribution dependency: contribution.getDependencies()) { if (!resolved.contains(dependency)) { resolved.add(dependency); contributionProcessor.resolve(contribution, workspace.getModelResolver()); @@ -198,7 +189,7 @@ public class WireComponents { domainComposite.getIncludes().addAll(workspace.getDeployables()); // Build the domain composite and wire the components included in it - domainCompositeBuilder.build(domainComposite); + domainCompositeBuilder.build(domainComposite, null, monitor); // Print out the resulting domain composite ByteArrayOutputStream bos = new ByteArrayOutputStream(); |