Author: antelder
Date: Tue Jun 14 10:09:13 2011
New Revision: 1135455
URL: http://svn.apache.org/viewvc?rev=1135455&view=rev
Log:
Add a test for explicit dependencies
Added:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar
(with props)
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar
(with props)
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar
(with props)
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar
(with props)
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java?rev=1135455&r1=1135454&r2=1135455&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
Tue Jun 14 10:09:13 2011
@@ -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(","));
}
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java?rev=1135455&r1=1135454&r2=1135455&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/impl/DirectoryDomainTestCase.java
Tue Jun 14 10:09:13 2011
@@ -36,6 +36,7 @@ import org.apache.tuscany.sca.runtime.Co
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);
+ }
}
Added:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties?rev=1135455&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties
(added)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/domain.properties
Tue Jun 14 10:09:13 2011
@@ -0,0 +1,2 @@
+dependencies.import1=export1
+dependencies.import2=export2
Added:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar?rev=1135455&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar?rev=1135455&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/export2.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar?rev=1135455&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar?rev=1135455&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/import2.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt?rev=1135455&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt
(added)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/test-domains/dependencies/readme.txt
Tue Jun 14 10:09:13 2011
@@ -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.