From ec7ff637d99ee73994a03d15b41f14a61571922a Mon Sep 17 00:00:00 2001 From: antelder Date: Thu, 23 Jun 2011 10:50:23 +0000 Subject: Add a way to set whether or not the domain name is included as the root of the service endpoint uri git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1138822 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/tuscany/sca/TuscanyRuntime.java | 5 +++-- .../org/apache/tuscany/sca/impl/DeployedComposite.java | 17 ++++++++++------- .../main/java/org/apache/tuscany/sca/impl/NodeImpl.java | 14 +++++++++++++- 3 files changed, 26 insertions(+), 10 deletions(-) (limited to 'sca-java-2.x/trunk/modules') diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java index 4518d79b94..1f562f5664 100644 --- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java +++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java @@ -64,6 +64,7 @@ import org.oasisopen.sca.ServiceRuntimeException; */ public class TuscanyRuntime { + public static final String DEFAUL_DOMAIN_NAME = "default"; private Deployer deployer; private ExtensionPointRegistry extensionPointRegistry; private CompositeActivator compositeActivator; @@ -111,7 +112,7 @@ public class TuscanyRuntime { public static Node runComposite(URI domainURI, String compositeURI, String contributionURL, String... dependentContributionURLs) { try { TuscanyRuntime runtime = newInstance(); - String domain = domainURI == null ? "default" : domainURI.toString(); + String domain = domainURI == null ? DEFAUL_DOMAIN_NAME : domainURI.toString(); DomainRegistry domainRegistry = runtime.domainRegistryFactory.getEndpointRegistry(domain, getDomainName(domain)); NodeImpl node = new NodeImpl(runtime.deployer, runtime.compositeActivator, domainRegistry, runtime.extensionPointRegistry, runtime); @@ -154,7 +155,7 @@ public class TuscanyRuntime { * @return a Node */ public Node createNode(String domainURI) { - String domainName = "default"; + String domainName = DEFAUL_DOMAIN_NAME; if (domainURI != null){ domainName = getDomainName(domainURI); } diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java index f3f10f38d7..e9fa5655ab 100644 --- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java +++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java @@ -55,6 +55,7 @@ public class DeployedComposite { private DomainRegistry domainRegistry; private ExtensionPointRegistry extensionPointRegistry; private List usedContributionURIs; + private boolean endpointsIncludeDomainName; public DeployedComposite(Composite composite, Contribution contribution, @@ -62,7 +63,8 @@ public class DeployedComposite { Deployer deployer, CompositeActivator compositeActivator, DomainRegistry domainRegistry, - ExtensionPointRegistry extensionPointRegistry) throws ValidationException, ActivationException { + ExtensionPointRegistry extensionPointRegistry, + boolean endpointsIncludeDomainName) throws ValidationException, ActivationException { this.composite = composite; this.contribution = contribution; this.dependedOnContributions = dependedOnContributions; @@ -70,6 +72,8 @@ public class DeployedComposite { this.compositeActivator = compositeActivator; this.domainRegistry = domainRegistry; this.extensionPointRegistry = extensionPointRegistry; + this.endpointsIncludeDomainName = endpointsIncludeDomainName; + try { build(); } catch (ContributionResolveException e) { @@ -86,20 +90,19 @@ public class DeployedComposite { contributions.get(0).getDeployables().clear(); contributions.get(0).getDeployables().add(composite); - Monitor monitor = deployer.createMonitor(); Map> bs = new HashMap>(); - - // TODO: don't hardcode the default domain name, instead do something like having a property on Node that says whether or not the - // domain name should be included in the service uri - if (!"default".equals(domainRegistry.getDomainName())) { + if (endpointsIncludeDomainName) { bs.put(new QName("default"), Arrays.asList(new String[]{domainRegistry.getDomainName()})); } + + Monitor monitor = deployer.createMonitor(); builtComposite = deployer.build(contributions, dependedOnContributions, bs, monitor); + monitor.analyzeProblems(); + // TODO: Ideally deployer.build would set the name and uri to what this needs builtComposite.setName(composite.getName()); builtComposite.setURI(composite.getURI()); builtComposite.setContributionURI(composite.getContributionURI()); - monitor.analyzeProblems(); compositeContext = new CompositeContext(extensionPointRegistry, domainRegistry, diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java index e67fe456dd..cea880d7a8 100644 --- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java +++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java @@ -68,6 +68,8 @@ public class NodeImpl implements Node { private Map startedComposites = new HashMap(); private Map stoppedComposites = new HashMap(); + + private boolean endpointsIncludeDomainName; public NodeImpl(Deployer deployer, CompositeActivator compositeActivator, @@ -90,6 +92,8 @@ public class NodeImpl implements Node { loadedContributions.remove(uri); } }); + + endpointsIncludeDomainName = !TuscanyRuntime.DEFAUL_DOMAIN_NAME.equals(domainRegistry.getDomainName()); } // TODO: install shouldn't throw ValidationException as it shouldn't do any validation, its @@ -297,7 +301,7 @@ public class NodeImpl implements Node { Contribution contribution = loadContribution(cd); Composite composite = contribution.getArtifactModel(compositeURI); List dependentContributions = calculateDependentContributions(cd); - dc = new DeployedComposite(composite, contribution, dependentContributions, deployer, compositeActivator, domainRegistry, extensionPointRegistry); + dc = new DeployedComposite(composite, contribution, dependentContributions, deployer, compositeActivator, domainRegistry, extensionPointRegistry, endpointsIncludeDomainName); dc.start(); startedComposites.put(key, dc); } @@ -532,5 +536,13 @@ public class NodeImpl implements Node { } } } + + public boolean getEndpointsIncludeDomainName() { + return endpointsIncludeDomainName; + } + + public void setEndpointsIncludeDomainName(boolean b) { + endpointsIncludeDomainName = b; + } } -- cgit v1.2.3