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.  


Reply via email to