Author: antelder
Date: Fri Jun 3 14:25:04 2011
New Revision: 1131055
URL: http://svn.apache.org/viewvc?rev=1131055&view=rev
Log:
Update to use the new Deployer method
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DependencyUtils.java
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DependencyUtils.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DependencyUtils.java?rev=1131055&r1=1131054&r2=1131055&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DependencyUtils.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DependencyUtils.java
Fri Jun 3 14:25:04 2011
@@ -23,12 +23,9 @@ import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.StringReader;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
@@ -37,16 +34,15 @@ import javax.xml.stream.XMLStreamExcepti
import org.apache.tuscany.sca.TuscanyRuntime;
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.ContributionMetadata;
-import org.apache.tuscany.sca.contribution.Export;
-import org.apache.tuscany.sca.contribution.Import;
-import org.apache.tuscany.sca.contribution.java.JavaImport;
-import org.apache.tuscany.sca.contribution.namespace.NamespaceImport;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
+import org.apache.tuscany.sca.deployment.Deployer;
+import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.ValidationException;
public class DependencyUtils {
public static List<String> getDependencies(String contributionURI,
Map<String, ZipInputStream> possibles) throws ValidationException, IOException,
ContributionReadException, XMLStreamException {
+ Deployer deployer = TuscanyRuntime.newInstance().getDeployer();
Map<String, ContributionMetadata> contributionMetaDatas = new
HashMap<String, ContributionMetadata>();
for (String curi : possibles.keySet()) {
@@ -65,76 +61,16 @@ public class DependencyUtils {
}
bos.close();
- contributionMetaDatas.put(curi,
(ContributionMetadata)TuscanyRuntime.newInstance().getDeployer().loadXMLDocument(new
StringReader(baos.toString())));
+ contributionMetaDatas.put(curi,
(ContributionMetadata)deployer.loadXMLDocument(new
StringReader(baos.toString())));
}
}
zis.close(); // close it so no one tries to reuse the already read
stream
}
- return getDependencies(contributionMetaDatas, contributionURI);
- }
-
- public static List<String> getDependencies(Map<String,
ContributionMetadata> possibles, String targetURI) throws ValidationException {
- if (!possibles.containsKey(targetURI)) {
- throw new IllegalArgumentException(targetURI);
- }
-
- Set<String> dependencies = new HashSet<String>();
-
- // Go through the contribution imports
- for (Import import_ : possibles.get(targetURI).getImports()) {
- boolean resolved = false;
-
- // Go through all contribution candidates and their exports
- List<Export> matchingExports = new ArrayList<Export>();
-
- for (String dependencyURI : possibles.keySet()) {
- if (dependencyURI.equals(targetURI)) {
- // Do not self import
- continue;
- }
- ContributionMetadata dependency = possibles.get(dependencyURI);
-
- // 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(dependencyURI))
- continue;
- }
- if (import_ instanceof JavaImport) {
- JavaImport javaImport = (JavaImport)import_;
- if (javaImport.getLocation() != null)
- if
(!javaImport.getLocation().equals(dependencyURI))
- continue;
- }
-
- for (Export export : dependency.getExports()) {
-
- // If an export from a contribution matches the import in
hand
- // add that contribution to the dependency set
- if (import_.match(export)) {
- resolved = true;
- matchingExports.add(export);
-
- if (!dependencies.contains(dependencyURI)) {
- dependencies.add(dependencyURI);
-
- // Now add the dependencies of that contribution
- getDependencies(possibles, dependencyURI);
-
- } // end if
- } // end if
- } // end for
- } // end for
-
- if (!resolved) {
- throw new ValidationException("Contribution " + targetURI + "
has unresolved Import: " + import_);
- }
+ Monitor monitor = deployer.createMonitor();
+ try {
+ return deployer.getDependencies(contributionMetaDatas,
contributionURI, monitor);
+ } finally {
+ monitor.analyzeProblems();
}
-
- return new ArrayList<String>(dependencies);
}
}