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
*