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