You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/03/25 05:24:20 UTC

svn commit: r640692 - in /incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl: ContributionContentProcessor.java ContributionInfoProcessor.java

Author: jsdelfino
Date: Mon Mar 24 21:24:15 2008
New Revision: 640692

URL: http://svn.apache.org/viewvc?rev=640692&view=rev
Log:
Fix for TUSCANY-2133. Mark all composites deployable in contributions without an sca-contribution.xml file.

Modified:
    incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
    incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java

Modified: incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java?rev=640692&r1=640691&r2=640692&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java Mon Mar 24 21:24:15 2008
@@ -21,8 +21,10 @@
 import java.io.File;
 import java.net.URI;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.contribution.Artifact;
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
@@ -84,6 +86,7 @@
         
         // Scan the contribution and list the artifacts contained in it
         List<Artifact> artifacts = contribution.getArtifacts();
+        boolean contributionMetadata = false;
         for (String artifactURI: scanner.getArtifacts(contributionURL)) {
             URL artifactURL = scanner.getArtifactURL(contributionURL, artifactURI);
 
@@ -104,10 +107,21 @@
 
                 // Merge contribution metadata into the contribution model
                 if (model instanceof Contribution) {
+                    contributionMetadata = true;
                     Contribution c = (Contribution)model;
                     contribution.getImports().addAll(c.getImports());
                     contribution.getExports().addAll(c.getExports());
                     contribution.getDeployables().addAll(c.getDeployables());
+                }
+            }
+        }
+        
+        // If no sca-contribution.xml file was provided then just consider
+        // all composites in the contribution as deployables
+        if (!contributionMetadata) {
+            for (Artifact artifact: artifacts) {
+                if (artifact.getModel() instanceof Composite) {
+                    contribution.getDeployables().add((Composite)artifact.getModel());
                 }
             }
         }

Modified: incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java?rev=640692&r1=640691&r2=640692&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java Mon Mar 24 21:24:15 2008
@@ -23,7 +23,9 @@
 import java.io.InputStream;
 import java.net.URI;
 import java.net.URL;
+import java.util.List;
 
+import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
@@ -83,6 +85,7 @@
         }
         
         // Read generated and user sca-contribution.xml files
+        boolean contributionMetadata = false;
         for (String path: new String[]{
                                        Contribution.SCA_CONTRIBUTION_GENERATED_META,
                                        Contribution.SCA_CONTRIBUTION_META}) {
@@ -94,12 +97,38 @@
             } catch (IOException e) {
                 continue;
             }
+            contributionMetadata = true;
             
             // Read the sca-contribution.xml file
             Contribution c = (Contribution)artifactProcessor.read(contributionURL, URI.create(path), url);
             contribution.getImports().addAll(c.getImports());
             contribution.getExports().addAll(c.getExports());
             contribution.getDeployables().addAll(c.getDeployables());
+        }
+        
+        // If no sca-contribution.xml file was provided then just consider
+        // all composites in the contribution as deployables
+        if (!contributionMetadata) {
+            List<String> artifactURIs;
+            try {
+                artifactURIs = scanner.getArtifacts(contributionURL);
+            } catch (ContributionReadException e) {
+                artifactURIs = null;
+            }
+            if (artifactURIs != null) {
+                for (String artifactURI: artifactURIs) {
+                    if (!artifactURI.endsWith(".composite")) {
+                        continue;
+                    }
+                    URL artifactURL = scanner.getArtifactURL(contributionURL, artifactURI);
+    
+                    // Read each artifact
+                    Object model = artifactProcessor.read(contributionURL, URI.create(artifactURI), artifactURL);
+                    if (model instanceof Composite) {
+                        contribution.getDeployables().add((Composite)model);
+                    }
+                }
+            }
         }
         
         return contribution;



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org