summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/Node.java125
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/impl/NodeImpl.java4
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/DeployerTestCase.java4
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeTestCase.java16
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeXMLTestCase.java4
5 files changed, 77 insertions, 76 deletions
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/Node.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/Node.java
index 5abde420de..9a82997a33 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/Node.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/Node.java
@@ -38,13 +38,13 @@ public interface Node {
* Creates an installed contribution from a supplied root contribution and installed at a supplied base URI.
* See section 10.5.1 of the Assembly Specification.
*
- * @param uri the base uri of where to install the contribution
+ * @param uri the base uri of where to install the contribution. May be null in which case a URI is derived from the contribution URL
* @param contributionURL the URL where the contribution is located
* @param metaDataURL the location of an optional generated Contribution Metadata Document. See section 10.2.2
* of the Assembly Specification. May be null.
* @param dependentContributionURIs specifies the contributions that are used to resolve the dependencies of the
* root contribution and other dependent contributions. May be null.
- * @param start true if the composites defined as deployable in the contribution's sca-contribution.xml
+ * @param startDeployables true if the composites defined as deployable in the contribution's sca-contribution.xml
* file or supplied metaData file should be started, false if they should not be.
* @return the URI of the installed contribution
*
@@ -52,7 +52,7 @@ public interface Node {
* @throws ActivationException
* @throws ValidationException
*/
- String installContribution(String uri, String contributionURL, String metaDataURL, List<String> dependentContributionURIs, boolean start) throws ContributionReadException, ActivationException, ValidationException;
+ String installContribution(String uri, String contributionURL, String metaDataURL, List<String> dependentContributionURIs, boolean startDeployables) throws ContributionReadException, ActivationException, ValidationException;
/**
* Creates an installed contribution from a supplied Contribution object.
@@ -61,7 +61,7 @@ public interface Node {
* @param contribution the Contribution object
* @param dependentContributionURIs specifies the contributions that are used to resolve the dependencies of the
* root contribution and other dependent contributions. May be null.
- * @param start true if the composites defined as deployable in the contribution's sca-contribution.xml
+ * @param startDeployables true if the composites defined as deployable in the contribution's sca-contribution.xml
* file or supplied metaData file should be started, false if they should not be.
* @return the URI of the installed contribution
*
@@ -69,7 +69,7 @@ public interface Node {
* @throws ActivationException
* @throws ValidationException
*/
- String installContribution(Contribution contribution, List<String> dependentContributionURIs, boolean start) throws ContributionReadException, ActivationException, ValidationException;
+ String installContribution(Contribution contribution, List<String> dependentContributionURIs, boolean startDeployables) throws ContributionReadException, ActivationException, ValidationException;
/**
* Creates an installed contribution from a supplied root contribution URL.
@@ -86,36 +86,6 @@ public interface Node {
String installContribution(String contributionURL) throws ContributionReadException, ActivationException, ValidationException;
/**
- * 4577 10.5.1 install Contribution & update Contribution
- * 4578 Creates or updates an installed contribution with a supplied root contribution, and installed at a supplied
- * 4579 base URI. A supplied dependent contribution list (<export/> elements) specifies the contributions that are
- * 4580 used to resolve the dependencies of the root contribution and other dependent contributions. These
- * 4581 override any dependent contributions explicitly listed via the @location attribute in the import statements
- * 4582 of the contribution.
- * 4583 SCA follows the simplifying assumption that the use of a contribution for resolving anything also means
- * 4584 that all other exported artifacts can be used from that contribution. Because of this, the dependent
- * 4585 contribution list is just a list of installed contribution URIs. There is no need to specify what is being used
- * 4586 from each one.
- * 4587 Each dependent contribution is also an installed contribution, with its own dependent contributions. By
- * 4588 default these dependent contributions of the dependent contributions (which we will call indirect
- * 4589 dependent contributions) are included as dependent contributions of the installed contribution. However,
- * 4590 if a contribution in the dependent contribution list exports any conflicting definitions with an indirect
- * 4591 dependent contribution, then the indirect dependent contribution is not included (i.e. the explicit list
- * 4592 overrides the default inclusion of indirect dependent contributions). Also, if there is ever a conflict
- * 4593 between two indirect dependent contributions, then the conflict MUST be resolved by an explicit entry in
- * 4594 the dependent contribution list.
- * 4595 [ASM12009]
- * 4596 Note that in many cases, the dependent contribution list can be generated. In particular, if the creator of
- * 4597 a Domain is careful to avoid creating duplicate definitions for the same qualified name, then it is easy for
- * 4598 this list to be generated by tooling.
- *
- * @param uri
- * @param contributionURL
- */
- void updateContribution(String uri, String contributionURL);
- void updateContribution(Contribution contribution);
-
- /**
* 4599 10.5.2 add Deployment Composite & update Deployment Composite
* 4600 Adds or updates a deployment composite using a supplied composite ("composite by value" - a data
* 4601 structure, not an existing resource in the Domain) to the contribution identified by a supplied contribution
@@ -129,8 +99,8 @@ public interface Node {
* 4609 then possible for those to be given component names by a (possibly generated) composite that is added
* 4610 into the installed contribution, without having to modify the packaging. *
*
- * @param uri
- * @param compositeXML
+ * @param contributionURI the URI of the installed contribution to add the composite to
+ * @param compositeXML the composite to add to the contribution
* @return
* @throws XMLStreamException
* @throws ContributionReadException
@@ -141,27 +111,6 @@ public interface Node {
String start(String contributionURI, Composite composite) throws ActivationException, ValidationException;
/**
- * 4599 10.5.2 add Deployment Composite & update Deployment Composite
- * 4600 Adds or updates a deployment composite using a supplied composite ("composite by value" - a data
- * 4601 structure, not an existing resource in the Domain) to the contribution identified by a supplied contribution
- * 4602 URI. The added or updated deployment composite is given a relative URI that matches the @name
- * 4603 attribute of the composite, with a ".composite" suffix. Since all composites run within the context of a
- * 4604 installed contribution (any component implementations or other definitions are resolved within that
- * 4605 contribution), this functionality makes it possible for the deployer to create a composite with final
- * 4606 configuration and wiring decisions and add it to an installed contribution without having to modify the
- * 4607 contents of the root contribution.
- * 4608 Also, in some use cases, a contribution might include only implementation code (e.g. PHP scripts). It is
- * 4609 then possible for those to be given component names by a (possibly generated) composite that is added
- * 4610 into the installed contribution, without having to modify the packaging. *
- *
- * @param uri
- * @param compositeXML
- * @return
- */
- String updateDeploymentComposite(String uri, Reader compositeXML);
- String updateDeploymentComposite(String uri, Composite composite);
-
- /**
* 4611 11.4.310.5.3 remove Contribution
* 4612 Removes the deployed contribution identified by a supplied contribution URI.
*
@@ -241,17 +190,17 @@ public interface Node {
<T> T getService(Class<T> interfaze, String serviceURI) throws NoSuchServiceException;
/**
- * Get a contributions deployed composites.
+ * Get the URIs of any composites that have been started for a contribution
* @param contributionURI the contribution URI
- * @return the List of deployed composites
+ * @return the List of started composite URIs
*/
- List<String> getDeployedComposites(String contributionURI);
+ List<String> getStartedCompositeURIs(String contributionURI);
/**
* Get the URIs of all the contributions installed on this Node
* @return the list of installed contribution URIs
*/
- List<String> getInstalledContributions();
+ List<String> getInstalledContributionURIs();
/**
* Get an installed Contribution
@@ -261,4 +210,56 @@ public interface Node {
Contribution getInstalledContribution(String uri);
String getDomainName();
+
+// TODO: the spec is unclear if update is different from remove/install, leave it out for now
+// /**
+// * 4577 10.5.1 install Contribution & update Contribution
+// * 4578 Creates or updates an installed contribution with a supplied root contribution, and installed at a supplied
+// * 4579 base URI. A supplied dependent contribution list (<export/> elements) specifies the contributions that are
+// * 4580 used to resolve the dependencies of the root contribution and other dependent contributions. These
+// * 4581 override any dependent contributions explicitly listed via the @location attribute in the import statements
+// * 4582 of the contribution.
+// * 4583 SCA follows the simplifying assumption that the use of a contribution for resolving anything also means
+// * 4584 that all other exported artifacts can be used from that contribution. Because of this, the dependent
+// * 4585 contribution list is just a list of installed contribution URIs. There is no need to specify what is being used
+// * 4586 from each one.
+// * 4587 Each dependent contribution is also an installed contribution, with its own dependent contributions. By
+// * 4588 default these dependent contributions of the dependent contributions (which we will call indirect
+// * 4589 dependent contributions) are included as dependent contributions of the installed contribution. However,
+// * 4590 if a contribution in the dependent contribution list exports any conflicting definitions with an indirect
+// * 4591 dependent contribution, then the indirect dependent contribution is not included (i.e. the explicit list
+// * 4592 overrides the default inclusion of indirect dependent contributions). Also, if there is ever a conflict
+// * 4593 between two indirect dependent contributions, then the conflict MUST be resolved by an explicit entry in
+// * 4594 the dependent contribution list.
+// * 4595 [ASM12009]
+// * 4596 Note that in many cases, the dependent contribution list can be generated. In particular, if the creator of
+// * 4597 a Domain is careful to avoid creating duplicate definitions for the same qualified name, then it is easy for
+// * 4598 this list to be generated by tooling.
+// *
+// * @param uri
+// * @param contributionURL
+// */
+// void updateContribution(String uri, String contributionURL);
+// void updateContribution(Contribution contribution);
+// /**
+// * 4599 10.5.2 add Deployment Composite & update Deployment Composite
+// * 4600 Adds or updates a deployment composite using a supplied composite ("composite by value" - a data
+// * 4601 structure, not an existing resource in the Domain) to the contribution identified by a supplied contribution
+// * 4602 URI. The added or updated deployment composite is given a relative URI that matches the @name
+// * 4603 attribute of the composite, with a ".composite" suffix. Since all composites run within the context of a
+// * 4604 installed contribution (any component implementations or other definitions are resolved within that
+// * 4605 contribution), this functionality makes it possible for the deployer to create a composite with final
+// * 4606 configuration and wiring decisions and add it to an installed contribution without having to modify the
+// * 4607 contents of the root contribution.
+// * 4608 Also, in some use cases, a contribution might include only implementation code (e.g. PHP scripts). It is
+// * 4609 then possible for those to be given component names by a (possibly generated) composite that is added
+// * 4610 into the installed contribution, without having to modify the packaging. *
+// *
+// * @param uri
+// * @param compositeXML
+// * @return
+// */
+// String updateDeploymentComposite(String uri, Reader compositeXML);
+// String updateDeploymentComposite(String uri, Composite composite);
+
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/impl/NodeImpl.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/impl/NodeImpl.java
index 7fe46764ed..15f5e2b18e 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/impl/NodeImpl.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/node2/impl/NodeImpl.java
@@ -269,7 +269,7 @@ public class NodeImpl implements Node {
return domainName;
}
- public List<String> getDeployedComposites(String contributionURI) {
+ public List<String> getStartedCompositeURIs(String contributionURI) {
ArrayList<String> compositeURIs = new ArrayList<String>();
InstalledContribution ic = installedContributions.get(contributionURI);
if (ic == null) {
@@ -281,7 +281,7 @@ public class NodeImpl implements Node {
return compositeURIs;
}
- public List<String> getInstalledContributions() {
+ public List<String> getInstalledContributionURIs() {
return new ArrayList<String>(installedContributions.keySet());
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/DeployerTestCase.java b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/DeployerTestCase.java
index 9c4de1c2bd..40509337c8 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/DeployerTestCase.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/DeployerTestCase.java
@@ -51,7 +51,7 @@ public class DeployerTestCase {
monitor.analyzeProblems();
node.installContribution(contribution, null, true);
- List<String> ics = node.getInstalledContributions();
+ List<String> ics = node.getInstalledContributionURIs();
Assert.assertEquals(1, ics.size());
Assert.assertEquals("foo", ics.get(0));
}
@@ -69,7 +69,7 @@ public class DeployerTestCase {
monitor.analyzeProblems();
composite.setURI("helloworld2.composite");
node.start("foo", composite);
- List<String> dcs = node.getDeployedComposites("foo");
+ List<String> dcs = node.getStartedCompositeURIs("foo");
Assert.assertEquals(1, dcs.size());
Assert.assertEquals("helloworld2.composite", dcs.get(0));
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeTestCase.java b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeTestCase.java
index f050ad36a1..6637f05979 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeTestCase.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeTestCase.java
@@ -76,7 +76,7 @@ public class NodeTestCase {
public void testGetInstalledContributions() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException {
Node node = NodeFactory.newInstance().createNode("default");
node.installContribution("foo", "src/test/resources/sample-helloworld-nodeployable.jar", null, null, true);
- List<String> ics = node.getInstalledContributions();
+ List<String> ics = node.getInstalledContributionURIs();
Assert.assertEquals(1, ics.size());
Assert.assertEquals("foo", ics.get(0));
}
@@ -85,7 +85,7 @@ public class NodeTestCase {
public void testGetDeployedCompostes() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException, ValidationException {
Node node = NodeFactory.newInstance().createNode("default");
node.installContribution("foo", "src/test/resources/sample-helloworld.jar", null, null, true);
- List<String> dcs = node.getDeployedComposites("foo");
+ List<String> dcs = node.getStartedCompositeURIs("foo");
Assert.assertEquals(1, dcs.size());
Assert.assertEquals("helloworld.composite", dcs.get(0));
}
@@ -95,7 +95,7 @@ public class NodeTestCase {
Node node = NodeFactory.newInstance().createNode("default");
node.installContribution("foo", "src/test/resources/sample-helloworld.jar", null, null, true);
node.stop("foo", "helloworld.composite");
- List<String> dcs = node.getDeployedComposites("foo");
+ List<String> dcs = node.getStartedCompositeURIs("foo");
Assert.assertEquals(0, dcs.size());
}
@@ -104,7 +104,7 @@ public class NodeTestCase {
Node node = NodeFactory.newInstance().createNode("default");
((NodeImpl)node).installContribution("helloworld", "src/test/resources/sample-helloworld-nodeployable.jar", "src/test/resources/sca-contribution-generated.xml", null, true);
- List<String> dcs = node.getDeployedComposites("helloworld");
+ List<String> dcs = node.getStartedCompositeURIs("helloworld");
Assert.assertEquals(1, dcs.size());
Assert.assertEquals("helloworld.composite", dcs.get(0));
@@ -122,9 +122,9 @@ public class NodeTestCase {
@Test
public void testStaticCreate() {
Node node = NodeFactory.newStandaloneNode("helloworld.composite", "src/test/resources/sample-helloworld.jar");
- List<String> cs = node.getInstalledContributions();
+ List<String> cs = node.getInstalledContributionURIs();
Assert.assertEquals(1, cs.size());
- List<String> dcs = node.getDeployedComposites(cs.get(0));
+ List<String> dcs = node.getStartedCompositeURIs(cs.get(0));
Assert.assertEquals(1, dcs.size());
Assert.assertEquals("helloworld.composite", dcs.get(0));
}
@@ -132,9 +132,9 @@ public class NodeTestCase {
@Test
public void testStaticCreateWithNullComposite() {
Node node = NodeFactory.newStandaloneNode(null, "src/test/resources/sample-helloworld.jar");
- List<String> cs = node.getInstalledContributions();
+ List<String> cs = node.getInstalledContributionURIs();
Assert.assertEquals(1, cs.size());
- List<String> dcs = node.getDeployedComposites(cs.get(0));
+ List<String> dcs = node.getStartedCompositeURIs(cs.get(0));
Assert.assertEquals(1, dcs.size());
Assert.assertEquals("helloworld.composite", dcs.get(0));
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeXMLTestCase.java b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeXMLTestCase.java
index 110fbfd49e..5e265a0c8a 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeXMLTestCase.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/node2/NodeXMLTestCase.java
@@ -33,10 +33,10 @@ public class NodeXMLTestCase {
public void testHelloworldXML() throws ContributionReadException, ActivationException, ValidationException {
Node node = NodeFactory.newInstance().createNodeFromXML("src/test/resources/helloworldNode.xml");
Assert.assertEquals("helloworld", node.getDomainName());
- List<String> cs = node.getInstalledContributions();
+ List<String> cs = node.getInstalledContributionURIs();
Assert.assertEquals(1, cs.size());
Assert.assertEquals("sample-helloworld", cs.get(0));
- List<String> compsoites = node.getDeployedComposites("sample-helloworld");
+ List<String> compsoites = node.getStartedCompositeURIs("sample-helloworld");
Assert.assertEquals(1, compsoites.size());
Assert.assertEquals("helloworld.composite", compsoites.get(0));
}