You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2008/09/03 18:54:39 UTC

svn commit: r691684 - /tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java

Author: antelder
Date: Wed Sep  3 09:54:38 2008
New Revision: 691684

URL: http://svn.apache.org/viewvc?rev=691684&view=rev
Log:
Initial basic support for web.composite, see TUSCANY-2581

Modified:
    tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java

Modified: tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java?rev=691684&r1=691683&r2=691684&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java (original)
+++ tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java Wed Sep  3 09:54:38 2008
@@ -409,6 +409,8 @@
             }
         }
 
+        processApplicationComposite(contribution);
+
         // store the contribution on the registry
         this.contributionRepository.addContribution(contribution);
 
@@ -416,6 +418,40 @@
     }
 
     /**
+     * Process any application composite (eg see 5.1.3 of SCA JEE spec) 
+     * TODO: see TUSCANY-2581
+     */
+    private void processApplicationComposite(Contribution contribution) {
+        
+        Composite composite = findComposite("web-inf/web.composite", contribution);
+        if (composite != null) {
+            if (!contribution.getDeployables().contains(composite)) {
+                contribution.getDeployables().add(createDeploymentComposite(composite));
+            }
+        }
+    }
+
+    /**
+     * Create a deployment composite for the composite
+     * See line 247 section 5.1.3 of SCA JEE spec
+     */
+    private Composite createDeploymentComposite(Composite composite) {
+        // TODO: for now just use as-is
+        return composite;
+    }
+
+    private Composite findComposite(String name, Contribution contribution) {
+        for (Artifact artifact : contribution.getArtifacts()) {
+            if (artifact.getModel() instanceof Composite) {
+                if (name.equalsIgnoreCase(artifact.getURI())) {
+                    return (Composite)artifact.getModel();
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
      * This utility method process each artifact and delegates to proper 
      * artifactProcessor to read the model and generate the in-memory representation
      *