You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ra...@apache.org on 2009/11/10 10:31:25 UTC

svn commit: r834397 - /tuscany/java/sca/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java

Author: ramkumar
Date: Tue Nov 10 09:31:19 2009
New Revision: 834397

URL: http://svn.apache.org/viewvc?rev=834397&view=rev
Log:
Fixes for resolving namespace imports using location attribute

Modified:
    tuscany/java/sca/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java

Modified: tuscany/java/sca/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java?rev=834397&r1=834396&r2=834397&view=diff
==============================================================================
--- tuscany/java/sca/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java (original)
+++ tuscany/java/sca/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java Tue Nov 10 09:31:19 2009
@@ -50,6 +50,7 @@
 import org.apache.tuscany.sca.contribution.DefaultImport;
 import org.apache.tuscany.sca.contribution.Export;
 import org.apache.tuscany.sca.contribution.Import;
+import org.apache.tuscany.sca.contribution.namespace.NamespaceImport;
 import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
 import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
 import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
@@ -153,6 +154,18 @@
                     // Do not self import
                     continue;
                 }
+                
+                // When a contribution contains a reference to an artifact from a namespace that 
+                // is declared in an import statement of the contribution, if the SCA artifact 
+                // resolution mechanism is used to resolve the artifact, the SCA runtime MUST resolve 
+                // artifacts from the locations identified by the import statement(s) for the namespace.
+                if (import_ instanceof NamespaceImport) {
+                	NamespaceImport namespaceImport = (NamespaceImport)import_;
+                	if (namespaceImport.getLocation() != null)
+	                	if (!namespaceImport.getLocation().equals(dependency.getURI())) 
+	                		continue;
+                }
+                
                 for (Export export : dependency.getExports()) {
 
                     // If an export from a contribution matches the import in hand