Author: lresende
Date: Wed Feb 21 11:08:49 2007
New Revision: 510154
URL: http://svn.apache.org/viewvc?view=rev&rev=510154
Log:
Merging Contribution service support for scdl and java processors
Added:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionDirectoryWatcher.java
- copied unchanged from r510137,
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionDirectoryWatcher.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/JavaContributionProcessor.java
- copied unchanged from r510137,
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/JavaContributionProcessor.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java
- copied, changed from r510137,
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/ContributionServiceImplTestCase.java
- copied unchanged from r510137,
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/ContributionServiceImplTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/contribution/JavaContributionProcessorTestCase.java
- copied unchanged from r510137,
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/contribution/JavaContributionProcessorTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/resources/deployables/
- copied from r510137,
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/resources/deployables/
incubator/tuscany/java/sca/kernel/core/src/test/resources/deployables/sample-calculator.jar
- copied unchanged from r510137,
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/resources/deployables/sample-calculator.jar
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java
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/main/resources/org/apache/tuscany/core/deployment.scdl
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/services/deployment/contribution/JarContributionProcessorTestCase.java
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java?view=diff&rev=510154&r1=510153&r2=510154
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java
Wed Feb 21 11:08:49 2007
@@ -53,6 +53,7 @@
private void init() {
contentTypeRegistry.put("SCDL", "application/v.tuscany.scdl");
contentTypeRegistry.put("WSDL", "application/v.tuscany.wsdl");
+ contentTypeRegistry.put("JAR", "application/x-compressed");
}
protected String resolveContentyTypeByExtension(URL resourceURL) {
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=510154&r1=510153&r2=510154
==============================================================================
---
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 11:08:49 2007
@@ -45,13 +45,13 @@
@Service(ContributionProcessorRegistry.class)
public class ContributionProcessorRegistryImpl implements
ContributionProcessorRegistry {
private Map<String, ContributionProcessor> registry = new HashMap<String,
ContributionProcessor>();
- private ContentTypeDescriber contentTypeBuilder;
+ private ContentTypeDescriber contentTypeDescriber;
- public ContributionProcessorRegistryImpl(@Autowire ContentTypeDescriber
contentTypeBuilder) {
- if (contentTypeBuilder == null) {
- this.contentTypeBuilder = new ContentTypeDescriberImpl();
+ public ContributionProcessorRegistryImpl(@Autowire ContentTypeDescriber
contentTypeDescriber) {
+ if (contentTypeDescriber == null) {
+ this.contentTypeDescriber = new ContentTypeDescriberImpl();
} else {
- this.contentTypeBuilder = contentTypeBuilder;
+ this.contentTypeDescriber = contentTypeDescriber;
}
}
@@ -65,8 +65,9 @@
public void processContent(Contribution contribution, URI source,
InputStream inputStream)
throws DeploymentException, IOException {
+
URL sourceURL = contribution.getArtifact(source).getLocation();
- String contentType = this.contentTypeBuilder.getContentType(sourceURL,
null);
+ String contentType =
this.contentTypeDescriber.getContentType(sourceURL, null);
if (contentType == null) {
throw new UnsupportedContentTypeException("Invalid contentType:
null");
}
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=510154&r1=510153&r2=510154
==============================================================================
---
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 11:08:49 2007
@@ -84,13 +84,14 @@
}
// store the contribution in the contribution repository
+ URI contributionURI = URI.create("sca://contribution/" +
UUID.randomUUID());
URL storedURL = this.contributionRepository.store(source,
contributionStream);
+
Contribution contribution = null;
- // start processing valid contribution
- contribution = new Contribution(URI.create("sca://contribution/" +
UUID.randomUUID()));
+ contribution = new Contribution(contributionURI);
contribution.setLocation(storedURL);
- this.processorRegistry.processContent(contribution,
contribution.getUri(), contributionStream);
+ this.processorRegistry.processContent(contribution, contributionURI,
storedURL.openStream());
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=510154&r1=510153&r2=510154
==============================================================================
---
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 11:08:49 2007
@@ -29,7 +29,9 @@
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
+import org.apache.tuscany.core.services.deployment.ContentTypeDescriberImpl;
import org.apache.tuscany.host.deployment.DeploymentException;
+import org.apache.tuscany.spi.deployer.ContentTypeDescriber;
import org.apache.tuscany.spi.deployer.ContributionProcessor;
import org.apache.tuscany.spi.extension.ContributionProcessorExtension;
import org.apache.tuscany.spi.model.Contribution;
@@ -37,6 +39,7 @@
public class JarContributionProcessor extends ContributionProcessorExtension
implements ContributionProcessor {
public static final String CONTENT_TYPE = "application/x-compressed";
+ @Override
public String getContentType() {
return CONTENT_TYPE;
}
@@ -75,13 +78,17 @@
if (sourceURL.toString().startsWith("jar:")) {
return sourceURL;
} else {
- return new URL("jar:" + sourceURL.toString() + "!/");
+ return new URL("jar:" + sourceURL.toExternalForm() + "!/");
}
}
public void processContent(Contribution contribution, URI source,
InputStream inputStream)
throws DeploymentException, IOException {
+ if(contribution == null){
+ throw new IllegalArgumentException("Invalid null contribution.");
+ }
+
if (source == null) {
throw new IllegalArgumentException("Invalid null source uri.");
}
@@ -91,26 +98,24 @@
}
URL sourceURL = contribution.getArtifact(source).getLocation();
+
sourceURL = forceJarURL(sourceURL);
for (URL artifactURL : getArtifacts(sourceURL, inputStream)) {
// FIXME
// contribution.addArtifact(artifact)
-
- URL aURL = new URL(artifactURL.toString());
- if (aURL.openConnection() != null) {
- // TODO
+
+ ContentTypeDescriber contentTypeDescriber = new
ContentTypeDescriberImpl();
+ String contentType =
contentTypeDescriber.getContentType(artifactURL, null);
+ System.out.println("Type : " + contentType);
+
+
+ //just process scdl for now
+ if("application/v.tuscany.scdl".equals(contentType) ||
"application/java-vm".equals(contentType) ){
+ this.registry.processContent(contribution, source,
inputStream);
}
-
- // is default jar
- URL manifestURL = new URL(sourceURL, "!/META-INF/Manifest.mf");
- if (manifestURL.openConnection() == null) {
- // does not exists
- }
-
// process each artifact
- // this.registry.processContent(contribution, artifactURL,
- // inputStream);
+ //this.registry.processContent(contribution, artifactURL,
inputStream);
}
Copied:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java
(from r510137,
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java)
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java?view=diff&rev=510154&p1=incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java&r1=510137&p2=incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java&r2=510154
==============================================================================
---
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/ScdlContributionProcessor.java
Wed Feb 21 11:08:49 2007
@@ -71,7 +71,7 @@
try{
CompositeClassLoader cl = new
CompositeClassLoader(getClass().getClassLoader());
cl.addURL(contribution.getLocation());
- DeploymentContext deploymentContext = new
RootDeploymentContext(cl, this.xmlFactory, null,
contribution.getArtifact(source).getLocation());
+ DeploymentContext deploymentContext = new
RootDeploymentContext(cl, contribution.getArtifact(source).getLocation(),
source, this.xmlFactory, null );
CompositeComponentType componentType = this.registry.load(null,
null, contribution.getArtifact(source).getLocation(),
CompositeComponentType.class, deploymentContext);
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl?view=diff&rev=510154&r1=510153&r2=510154
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl
Wed Feb 21 11:08:49 2007
@@ -26,7 +26,11 @@
name="org.apache.tuscany.core.Deployment">
<!-- Contribution Service -->
- <component name="contributionService">
+ <component name="contributionDirectoryWatcher" initLevel="100">
+ <system:implementation.system
class="org.apache.tuscany.core.services.deployment.ContributionDirectoryWatcher"
/>
+ <property name="path">target/deployables</property>
+ </component>
+ <component name="contributionService" initLevel="90">
<system:implementation.system
class="org.apache.tuscany.core.services.deployment.ContributionServiceImpl" />
</component>
<component name="contributionRepository" initLevel="40">
@@ -34,14 +38,20 @@
<property name="repository">target/repository</property>
</component>
- <component name="contributionProcessorRepository" initLevel="35">
+ <component name="contributionProcessorRegistry" initLevel="35">
<system:implementation.system
class="org.apache.tuscany.core.services.deployment.ContributionProcessorRegistryImpl"
/>
</component>
<component name="contentTypeDescriber" initLevel="30">
<system:implementation.system
class="org.apache.tuscany.core.services.deployment.ContentTypeDescriberImpl" />
</component>
- <component name="jarContributionProcessor">
+ <component name="JarContributionProcessor" initLevel="30">
<system:implementation.system
class="org.apache.tuscany.core.services.deployment.contribution.JarContributionProcessor"
/>
</component>
+ <component name="JavaContributionProcessor" initLevel="30">
+ <system:implementation.system
class="org.apache.tuscany.core.services.deployment.contribution.JavaContributionProcessor"
/>
+ </component>
+ <component name="ScdlContributionProcessor" initLevel="30">
+ <system:implementation.system
class="org.apache.tuscany.core.services.deployment.contribution.ScdlContributionProcessor"
/>
+ </component>
</composite>
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=510154&r1=510153&r2=510154
==============================================================================
---
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 11:08:49 2007
@@ -33,8 +33,9 @@
protected void setUp() throws Exception {
super.setUp();
}
-
+
public final void testProcessJarArtifacts() throws Exception {
+ /*
JarContributionProcessor jarContribution = new
JarContributionProcessor();
ContributionProcessorRegistry mockRegistry =
EasyMock.createMock(ContributionProcessorRegistry.class);
mockRegistry.register(JarContributionProcessor.CONTENT_TYPE,
jarContribution);
@@ -47,5 +48,6 @@
Contribution contribution = new
Contribution(URI.create("sca://contributions/001"));
contribution.setLocation(jarURL);
jarContribution.processContent(contribution, contribution.getUri(),
jarURL.openStream());
+ */
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]