From de386cde2579cc284230a70093d1b6a28d00f5a2 Mon Sep 17 00:00:00 2001 From: antelder Date: Tue, 14 Jun 2011 10:09:13 +0000 Subject: Add a test for explicit dependencies git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1135455 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/tuscany/sca/TuscanyRuntime.java | 2 +- .../tuscany/sca/impl/DirectoryDomainTestCase.java | 16 ++++++++++++++++ .../test-domains/dependencies/domain.properties | 2 ++ .../resources/test-domains/dependencies/export1.jar | Bin 0 -> 2270 bytes .../resources/test-domains/dependencies/export2.jar | Bin 0 -> 2269 bytes .../resources/test-domains/dependencies/import1.jar | Bin 0 -> 3969 bytes .../resources/test-domains/dependencies/import2.jar | Bin 0 -> 3969 bytes .../test/resources/test-domains/dependencies/readme.txt | 14 ++++++++++++++ 8 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties create mode 100644 sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar create mode 100644 sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar create mode 100644 sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar create mode 100644 sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar create mode 100644 sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt (limited to 'sca-java-2.x/trunk/modules/domain-node/src') 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 dependencyURIs = new ArrayList(); - 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 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 new file mode 100644 index 0000000000..b2755b65c5 Binary files /dev/null and b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar differ 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 new file mode 100644 index 0000000000..eec5ded5ee Binary files /dev/null and b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar differ 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 new file mode 100644 index 0000000000..8402f6e3c3 Binary files /dev/null and b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar differ 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 new file mode 100644 index 0000000000..6667994eb6 Binary files /dev/null and b/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar differ 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. -- cgit v1.2.3