tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From antel...@apache.org
Subject svn commit: r1131055 - /tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DependencyUtils.java
Date Fri, 03 Jun 2011 14:25:05 GMT
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);
     }
 }



Mime
View raw message