diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2011-06-14 10:09:13 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2011-06-14 10:09:13 +0000 |
commit | de386cde2579cc284230a70093d1b6a28d00f5a2 (patch) | |
tree | eca7473659df505656d3ae845c04ad9254f6f295 /sca-java-2.x/trunk/modules | |
parent | 6aeeff9e3b0b2a75f808d4937fd63312a632ba65 (diff) |
Add a test for explicit dependencies
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1135455 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules')
8 files changed, 33 insertions, 1 deletions
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 4795fbe780..c4bf0d4b26 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 @@ -212,7 +212,7 @@ public class TuscanyRuntime { } List<String> dependencyURIs = new ArrayList<String>(); - String dependencyURIprop = domainProps.getProperty(fn + ".dependencies"); + String dependencyURIprop = domainProps.getProperty("dependencies." + fn); if (dependencyURIprop != null && dependencyURIprop.length() > 0) { dependencyURIs = Arrays.asList(dependencyURIprop.split(",")); } diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java index f3ba1ff405..d89271f14b 100644 --- a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java +++ b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java @@ -36,6 +36,7 @@ import org.apache.tuscany.sca.runtime.ContributionDescription; import org.junit.Test;
import org.oasisopen.sca.NoSuchDomainException;
import org.oasisopen.sca.NoSuchServiceException;
+import org.oasisopen.sca.annotation.Remotable;
public class DirectoryDomainTestCase {
@@ -104,4 +105,19 @@ public class DirectoryDomainTestCase { Assert.assertEquals(1, startedComposites.size());
Assert.assertEquals("helloworld.composite", startedComposites.get("sample-helloworld").get(0));
}
+
+ @Test
+ public void testDependencies() throws ContributionReadException, ActivationException, ValidationException, XMLStreamException, IOException, NoSuchServiceException {
+ Node node = TuscanyRuntime.newInstance().createNode(new File("src/test/resources/test-domains/dependencies"));
+ Assert.assertEquals("dependencies", node.getDomainName());
+ List<String> cs = node.getInstalledContributionURIs();
+ Assert.assertEquals(4, cs.size());
+ Assert.assertEquals("Hello 1 Petra", node.getService(TestIface.class, "Helloworld1Component").sayHello("Petra"));
+ Assert.assertEquals("Hello 2 Amelia", node.getService(TestIface.class, "Helloworld2Component").sayHello("Amelia"));
+ }
+
+ @Remotable
+ interface TestIface {
+ String sayHello(String name);
+ }
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties new file mode 100644 index 0000000000..5d8b0823d4 --- /dev/null +++ b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties @@ -0,0 +1,2 @@ +dependencies.import1=export1
+dependencies.import2=export2
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar Binary files differnew file mode 100644 index 0000000000..b2755b65c5 --- /dev/null +++ b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar Binary files differnew file mode 100644 index 0000000000..eec5ded5ee --- /dev/null +++ b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar Binary files differnew file mode 100644 index 0000000000..8402f6e3c3 --- /dev/null +++ b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar Binary files differnew file mode 100644 index 0000000000..6667994eb6 --- /dev/null +++ b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt new file mode 100644 index 0000000000..cb67b5402e --- /dev/null +++ b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt @@ -0,0 +1,14 @@ +Uses the domain.properties file to show explicitly defining a contrbutions dependent contribution URIS.
+
+Contributions export1.jar and export2.jar both export the Java package "sample" and both have
+a class sample.HelloworldImpl but the classes return a sayHello string "Hello 1" in export1.jar
+and "Hello 2" in export2.jar.
+
+Contributions import1.jar and import2.jar both import the package sample and use the
+sample.HelloworldImpl class in the component implementation.
+
+The domain.propertes includes properties to explicitly set the dependency URIs used by
+Contributions import1.jar and import2.jar, without the explicit property the imports would just t
+use the first contribution found that exports the sample package.
+
+See section 10.2.1 and 10.4 in the Assembly spec.
|