Author: jsdelfino
Date: Mon Mar 24 21:28:11 2008
New Revision: 640694
URL: http://svn.apache.org/viewvc?rev=640694&view=rev
Log:
Merged changes from trunk SVN revisions r640692 and r640693. Fix for
TUSCANY-2133. Mark all composites deployable in contributions without an
sca-contribution.xml file.
Modified:
incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java
incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
Modified:
incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java?rev=640694&r1=640693&r2=640694&view=diff
==============================================================================
---
incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java
(original)
+++
incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java
Mon Mar 24 21:28:11 2008
@@ -55,6 +55,8 @@
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.builder.Problem;
+import org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor;
+import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.ContributionFactory;
import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint;
@@ -77,6 +79,7 @@
import org.apache.tuscany.sca.implementation.data.collection.ItemCollection;
import
org.apache.tuscany.sca.implementation.data.collection.LocalItemCollection;
import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
+import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.workspace.Workspace;
import org.apache.tuscany.sca.workspace.WorkspaceFactory;
import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder;
@@ -134,6 +137,7 @@
contributionFactory =
modelFactories.getFactory(ContributionFactory.class);
assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class);
+ PolicyFactory policyFactory =
modelFactories.getFactory(PolicyFactory.class);
// Create model resolvers
ModelResolverExtensionPoint modelResolvers = new
DefaultModelResolverExtensionPoint();
@@ -144,11 +148,13 @@
staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors,
inputFactory, outputFactory);
staxProcessors.addArtifactProcessor(new
ContributionMetadataProcessor(assemblyFactory, contributionFactory,
staxProcessor));
staxProcessors.addArtifactProcessor(new
WorkspaceProcessor(workspaceFactory, contributionFactory, staxProcessor));
+ staxProcessors.addArtifactProcessor(new
CompositeProcessor(contributionFactory, assemblyFactory, policyFactory,
staxProcessor));
URLArtifactProcessorExtensionPoint urlProcessors = new
DefaultURLArtifactProcessorExtensionPoint(modelFactories);
urlProcessor = new ExtensibleURLArtifactProcessor(urlProcessors);
urlProcessors.addArtifactProcessor(new
ContributionMetadataDocumentProcessor(staxProcessor, inputFactory));
urlProcessors.addArtifactProcessor(new
ContributionGeneratedMetadataDocumentProcessor(staxProcessor, inputFactory));
+ urlProcessors.addArtifactProcessor(new
CompositeDocumentProcessor(staxProcessor, inputFactory, null));
// Create contribution info processor
contributionInfoProcessor = new
ContributionInfoProcessor(modelFactories, modelResolvers, urlProcessor);
Modified:
incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java?rev=640694&r1=640693&r2=640694&view=diff
==============================================================================
---
incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
(original)
+++
incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
Mon Mar 24 21:28:11 2008
@@ -19,7 +19,6 @@
package org.apache.tuscany.sca.workspace.admin.impl;
-import static
org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.DEPLOYMENT_CONTRIBUTION_URI;
import static
org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.compositeAlternateLink;
import static
org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.compositeKey;
import static
org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.compositeQName;
@@ -252,6 +251,9 @@
QName qname = compositeQName(key);
for (Composite deployable: contribution.getDeployables()) {
if (qname.equals(deployable.getName())) {
+ if (deployable.isUnresolved()) {
+ throw new NotFoundException(key);
+ }
// Return an item describing the deployable composite
return item(contribution, deployable);
@@ -550,15 +552,6 @@
ModelResolver modelResolver = new
ExtensibleModelResolver(contribution, modelResolvers, modelFactories);
contributionContentProcessor.resolve(contribution, modelResolver);
- // Special processing for the cloud contribution, mark all its
- // composites as deployable
- if (contribution.getURI().equals(DEPLOYMENT_CONTRIBUTION_URI)) {
- for (Artifact artifact: contribution.getArtifacts()) {
- if (artifact.getModel() instanceof Composite) {
-
contribution.getDeployables().add((Composite)artifact.getModel());
- }
- }
- }
return contribution;
} catch (ContributionReadException e) {
Modified:
incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java?rev=640694&r1=640693&r2=640694&view=diff
==============================================================================
---
incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
(original)
+++
incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
Mon Mar 24 21:28:11 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/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java?rev=640694&r1=640693&r2=640694&view=diff
==============================================================================
---
incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
(original)
+++
incubator/tuscany/branches/sca-java-1.2/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
Mon Mar 24 21:28:11 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]