You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/02/21 18:24:21 UTC
svn commit: r510108 - in /incubator/tuscany/java/sca/kernel:
core/src/main/java/org/apache/tuscany/core/services/deployment/
core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/
core/src/test/java/org/apache/tuscany/core/service...
Author: lresende
Date: Wed Feb 21 09:24:20 2007
New Revision: 510108
URL: http://svn.apache.org/viewvc?view=rev&rev=510108
Log:
Merging contribution model updates
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionProcessorRegistryImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessor.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessorTestCase.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ArtifactResolver.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ContributionProcessor.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Contribution.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DeployedArtifact.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionProcessorRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionProcessorRegistryImpl.java?view=diff&rev=510108&r1=510107&r2=510108
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionProcessorRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionProcessorRegistryImpl.java Wed Feb 21 09:24:20 2007
@@ -21,6 +21,7 @@
import java.io.IOException;
import java.io.InputStream;
+import java.net.URI;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
@@ -62,22 +63,23 @@
registry.remove(contentType);
}
- public void processContent(Contribution contribution, URL source, InputStream inputStream)
+ public void processContent(Contribution contribution, URI source, InputStream inputStream)
throws DeploymentException, IOException {
- String contentType = this.contentTypeBuilder.getContentType(source, null);
+ URL sourceURL = contribution.getArtifact(source).getLocation();
+ String contentType = this.contentTypeBuilder.getContentType(sourceURL, null);
if (contentType == null) {
throw new UnsupportedContentTypeException("Invalid contentType: null");
}
if (!this.registry.containsKey(contentType)) {
- throw new UnsupportedContentTypeException(contentType, source.getPath());
+ throw new UnsupportedContentTypeException(contentType, sourceURL.getPath());
}
this.registry.get(contentType).processContent(contribution, source, inputStream);
}
- public void processModel(Contribution contribution, URL source, Object modelObject) throws DeploymentException,
+ public void processModel(Contribution contribution, URI source, Object modelObject) throws DeploymentException,
IOException {
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java?view=diff&rev=510108&r1=510107&r2=510108
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java Wed Feb 21 09:24:20 2007
@@ -46,8 +46,9 @@
*/
protected ContributionProcessorRegistry processorRegistry;
- public ContributionServiceImpl(@Autowire ContributionRepository repository,
- @Autowire ContributionProcessorRegistry processorRegistry) {
+ public ContributionServiceImpl(@Autowire
+ ContributionRepository repository, @Autowire
+ ContributionProcessorRegistry processorRegistry) {
super();
this.contributionRepository = repository;
this.processorRegistry = processorRegistry;
@@ -85,16 +86,11 @@
// store the contribution in the contribution repository
URL storedURL = this.contributionRepository.store(source, contributionStream);
Contribution contribution = null;
- try {
- // start processing valid contribution
- contribution = new Contribution();
- contribution.setUri(new URI("sca://contribution/" + UUID.randomUUID()));
-
- this.processorRegistry.processContent(contribution, storedURL, contributionStream);
+ // start processing valid contribution
+ contribution = new Contribution(URI.create("sca://contribution/" + UUID.randomUUID()));
+ contribution.setLocation(storedURL);
- } catch (URISyntaxException urie) {
- // FIXME
- }
+ this.processorRegistry.processContent(contribution, contribution.getUri(), contributionStream);
if (contribution == null) {
// FIXME throw exception
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessor.java?view=diff&rev=510108&r1=510107&r2=510108
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessor.java Wed Feb 21 09:24:20 2007
@@ -22,6 +22,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@@ -79,9 +80,9 @@
}
- public void processContent(Contribution contribution, URL sourceURL, InputStream inputStream)
+ public void processContent(Contribution contribution, URI source, InputStream inputStream)
throws DeploymentException, IOException {
- if (sourceURL == null) {
+ if (source == null) {
throw new IllegalArgumentException("Invalid null source uri.");
}
@@ -89,6 +90,7 @@
throw new IllegalArgumentException("Invalid null source inputstream.");
}
+ URL sourceURL = contribution.getArtifact(source).getLocation();
sourceURL = forceJarURL(sourceURL);
for (URL artifactURL : getArtifacts(sourceURL, inputStream)) {
@@ -114,7 +116,7 @@
}
- public void processModel(Contribution contribution, URL source, Object modelObject) throws DeploymentException,
+ public void processModel(Contribution contribution, URI source, Object modelObject) throws DeploymentException,
IOException {
// TODO Auto-generated method stub
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessorTestCase.java?view=diff&rev=510108&r1=510107&r2=510108
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessorTestCase.java Wed Feb 21 09:24:20 2007
@@ -18,11 +18,13 @@
*/
package org.apache.tuscany.core.services.deployment.contribution;
+import java.net.URI;
import java.net.URL;
import junit.framework.TestCase;
import org.apache.tuscany.spi.deployer.ContributionProcessorRegistry;
+import org.apache.tuscany.spi.model.Contribution;
import org.easymock.EasyMock;
public class JarContributionProcessorTestCase extends TestCase {
@@ -42,6 +44,8 @@
jarContribution.start();
EasyMock.verify(mockRegistry);
URL jarURL = getClass().getResource(JarContributionProcessorTestCase.JAR_CONTRIBUTION);
- jarContribution.processContent(null, jarURL, jarURL.openStream());
+ Contribution contribution = new Contribution(URI.create("sca://contributions/001"));
+ contribution.setLocation(jarURL);
+ jarContribution.processContent(contribution, contribution.getUri(), jarURL.openStream());
}
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ArtifactResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ArtifactResolver.java?view=diff&rev=510108&r1=510107&r2=510108
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ArtifactResolver.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ArtifactResolver.java Wed Feb 21 09:24:20 2007
@@ -20,6 +20,7 @@
package org.apache.tuscany.spi.deployer;
import java.net.URI;
+import java.net.URL;
import java.util.Map;
@@ -69,14 +70,14 @@
* <li>Reference a list of WSDLs using
* {http://www.w3.org/2004/08/wsdl-instance}wsdlLocation
* </ul>
- *
* @param targetNamespace The target namespace of the referenced artifact,
* if the targetNamespace is null, then it's not specified
* @param location The URI of the referenced artifact, it can be absolute or
* relative
* @param baseURI The URI of the owning artifact
+ *
* @return The URI of the resolved artifact
*/
- URI resolve(URI contribution, String targetNamespace, String location, String baseURI, DeploymentContext context);
+ URL resolve(URI contribution, String targetNamespace, String location, String baseURI);
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ContributionProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ContributionProcessor.java?view=diff&rev=510108&r1=510107&r2=510108
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ContributionProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ContributionProcessor.java Wed Feb 21 09:24:20 2007
@@ -20,7 +20,7 @@
import java.io.IOException;
import java.io.InputStream;
-import java.net.URL;
+import java.net.URI;
import org.apache.tuscany.host.deployment.DeploymentException;
import org.apache.tuscany.spi.model.Contribution;
@@ -45,7 +45,7 @@
* @throws DeploymentException if there was a problem with the contribution
* @throws IOException if there was a problem reading the stream
*/
- void processContent(Contribution contribution, URL source, InputStream inputStream) throws DeploymentException,
+ void processContent(Contribution contribution, URI source, InputStream inputStream) throws DeploymentException,
IOException;
/**
@@ -56,11 +56,11 @@
*
* @param contribution The contribution model that will be used to hold the
* results from the processing
- * @param source The URI for the contribution/artifact
+ * @param source The URI for the contribution/artifact.
* @param modelObject A model object for further processing by the processor
* @throws DeploymentException
* @throws IOException
*/
- void processModel(Contribution contribution, URL source, Object modelObject) throws DeploymentException,
+ void processModel(Contribution contribution, URI source, Object modelObject) throws DeploymentException,
IOException;
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Contribution.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Contribution.java?view=diff&rev=510108&r1=510107&r2=510108
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Contribution.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Contribution.java Wed Feb 21 09:24:20 2007
@@ -20,8 +20,12 @@
package org.apache.tuscany.spi.model;
import java.net.URI;
+import java.net.URL;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.xml.namespace.QName;
@@ -30,11 +34,10 @@
*
* @version $Rev$ $Date$
*/
-public class Contribution extends ModelObject {
+public class Contribution extends DeployedArtifact {
public static final String SCA_CONTRIBUTION_META = "META-INF/sca-contribution.xml";
public static final String SCA_CONTRIBUTION_GENERATED_META = "META-INF/sca-contribution-generated.xml";
- protected URI uri;
protected List<String> exports = new ArrayList<String>();
protected List<ContributionImport> imports = new ArrayList<ContributionImport>();
protected List<QName> runnables = new ArrayList<QName>();
@@ -42,17 +45,21 @@
/**
* A list of artifacts in the contribution
*/
- protected List<DeployedArtifact> artifacts = new ArrayList<DeployedArtifact>();
+ protected Map<URI, DeployedArtifact> artifacts = new HashMap<URI, DeployedArtifact>();
+ /**
+ * @param uri
+ */
+ public Contribution(URI uri) {
+ super(uri);
+ artifacts.put(uri, this);
+ }
+
public URI getUri() {
return uri;
}
- public void setUri(URI uri) {
- this.uri = uri;
- }
-
public List<String> getExports() {
return exports;
}
@@ -65,12 +72,30 @@
return runnables;
}
- public List<DeployedArtifact> getArtifacts() {
- return artifacts;
+ public Map<URI, DeployedArtifact> getArtifacts() {
+ return Collections.unmodifiableMap(artifacts);
}
public void addArtifact(DeployedArtifact artifact) {
artifact.setContribution(this);
- artifacts.add(artifact);
+ artifacts.put(artifact.getUri(), artifact);
+ }
+
+ public DeployedArtifact getArtifact(URI uri) {
+ return artifacts.get(uri);
+ }
+
+ /**
+ * @return the location
+ */
+ public URL getLocation() {
+ return location;
+ }
+
+ /**
+ * @param location the location to set
+ */
+ public void setLocation(URL location) {
+ this.location = location;
}
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DeployedArtifact.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DeployedArtifact.java?view=diff&rev=510108&r1=510107&r2=510108
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DeployedArtifact.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DeployedArtifact.java Wed Feb 21 09:24:20 2007
@@ -20,6 +20,7 @@
package org.apache.tuscany.spi.model;
import java.net.URI;
+import java.net.URL;
import java.util.HashMap;
import java.util.Map;
@@ -30,7 +31,8 @@
*/
public class DeployedArtifact extends ModelObject {
protected Contribution contribution;
- protected URI uri;
+ protected final URI uri;
+ protected URL location;
/**
* The map keeps all the model objects loaded/introspected from this artifact. The objects
* are keyed by the java type of the model such as javax.wsdl.ModelObject. The value is also
@@ -38,6 +40,14 @@
*/
protected Map<Class, Map<String, Object>> modelObjects = new HashMap<Class, Map<String, Object>>();
+ /**
+ * @param uri
+ */
+ public DeployedArtifact(URI uri) {
+ super();
+ this.uri = uri;
+ }
+
public Contribution getContribution() {
return contribution;
}
@@ -46,14 +56,14 @@
this.contribution = contribution;
}
+ /**
+ * Get the absolute URI as the unique id for the artifact
+ * @return
+ */
public URI getUri() {
return uri;
}
- public void setUri(URI uri) {
- this.uri = uri;
- }
-
public Map<Class, Map<String, Object>> getModelObjects() {
return modelObjects;
}
@@ -78,6 +88,20 @@
modelObjects.put(type, map);
}
map.put(namespace, modelObject);
+ }
+
+ /**
+ * @return the location
+ */
+ public URL getLocation() {
+ return location;
+ }
+
+ /**
+ * @param location the location to set
+ */
+ public void setLocation(URL location) {
+ this.location = location;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org