Author: lresende
Date: Mon Feb 26 14:57:59 2007
New Revision: 512059

URL: http://svn.apache.org/viewvc?view=rev&rev=512059
Log:
Updates to contributionService

Modified:
    
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java
    
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/FolderContributionProcessor.java
    
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl

Modified: 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java?view=diff&rev=512059&r1=512058&r2=512059
==============================================================================
--- 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java
 (original)
+++ 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContentTypeDescriberImpl.java
 Mon Feb 26 14:57:59 2007
@@ -54,6 +54,7 @@
         contentTypeRegistry.put("COMPOSITE", "application/v.tuscany.scdl");
         contentTypeRegistry.put("WSDL", "application/v.tuscany.wsdl");
         contentTypeRegistry.put("JAR", "application/x-compressed");
+        contentTypeRegistry.put("FOLDER", "application/v.tuscany.folder");
     }
 
     protected String resolveContentyTypeByExtension(URL resourceURL) {
@@ -78,20 +79,24 @@
         URLConnection connection = null;
         String contentType = defaultContentType;
 
-        contentType = resolveContentyTypeByExtension(resourceURL);
-        if (contentType == null) {
-            try {
-                connection = resourceURL.openConnection();
-                contentType = connection.getContentType();
-
-                if (contentType == null || 
contentType.equals("content/unknown")) {
-                    // here we couldn't figure out from our registry or from 
URL
-                    // return defaultContentType if provided
-                    contentType = defaultContentType;
+        if (FileHelper.toFile(resourceURL).isDirectory()) {
+            contentType = this.contentTypeRegistry.get("FOLDER");
+        } else {
+            contentType = resolveContentyTypeByExtension(resourceURL);
+            if (contentType == null) {
+                try {
+                    connection = resourceURL.openConnection();
+                    contentType = connection.getContentType();
+    
+                    if (contentType == null || 
contentType.equals("content/unknown")) {
+                        // here we couldn't figure out from our registry or 
from URL
+                        // return defaultContentType if provided
+                        contentType = defaultContentType;
+                    }
+                } catch (IOException io) {
+                    // could not access artifact, just ignore and we will 
return
+                    // null contentType
                 }
-            } catch (IOException io) {
-                // could not access artifact, just ignore and we will return
-                // null contentType
             }
         }
         return contentType == null ? defaultContentType : contentType;

Modified: 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/FolderContributionProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/FolderContributionProcessor.java?view=diff&rev=512059&r1=512058&r2=512059
==============================================================================
--- 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/FolderContributionProcessor.java
 (original)
+++ 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/contribution/FolderContributionProcessor.java
 Mon Feb 26 14:57:59 2007
@@ -29,11 +29,13 @@
 import java.util.List;
 
 import org.apache.tuscany.core.services.deployment.ContentTypeDescriberImpl;
+import org.apache.tuscany.core.util.FileHelper;
 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;
+import org.apache.tuscany.spi.model.DeployedArtifact;
 
 public class FolderContributionProcessor extends 
ContributionProcessorExtension implements ContributionProcessor {
     public static final String CONTENT_TYPE = "application/v.tuscany.folder";
@@ -95,22 +97,30 @@
 
         URL sourceURL = contribution.getArtifact(source).getLocation();
 
+        
         for (URL artifactURL : getArtifacts(sourceURL, inputStream)) {
-            // FIXME
-            // contribution.addArtifact(artifact)
-            
-            ContentTypeDescriber contentTypeDescriber = new 
ContentTypeDescriberImpl();
-            String contentType = 
contentTypeDescriber.getContentType(artifactURL, null);
-            System.out.println("File : " + artifactURL);
-            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);
+            URI artifactURI;
+            try {
+                artifactURI = new URI(contribution.getUri().toASCIIString() + 
"/" + FileHelper.getName(artifactURL.getPath()));
+                DeployedArtifact artifact = new DeployedArtifact(artifactURI);
+                artifact.setLocation(artifactURL);
+                contribution.addArtifact(artifact);
+                
+                ContentTypeDescriber contentTypeDescriber = new 
ContentTypeDescriberImpl();
+                String contentType = 
contentTypeDescriber.getContentType(artifactURL, null);
+                System.out.println("File : " + artifactURL);
+                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, artifactURI, 
artifactURL.openStream());
+                }
+            } catch (URISyntaxException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
             }
-            // process each artifact
-            //this.registry.processContent(contribution, artifactURL, 
inputStream);
 
         }
 

Modified: 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl?view=diff&rev=512059&r1=512058&r2=512059
==============================================================================
--- 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl
 (original)
+++ 
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl
 Mon Feb 26 14:57:59 2007
@@ -47,6 +47,9 @@
     <component name="JarContributionProcessor" initLevel="30">
         <system:implementation.system 
class="org.apache.tuscany.core.services.deployment.contribution.JarContributionProcessor"
 />
     </component>
+    <component name="FolderContributionProcessor" initLevel="30">
+        <system:implementation.system 
class="org.apache.tuscany.core.services.deployment.contribution.FolderContributionProcessor"
 />
+    </component>
     <component name="JavaContributionProcessor" initLevel="30">
         <system:implementation.system 
class="org.apache.tuscany.core.services.deployment.contribution.JavaContributionProcessor"
 />
     </component>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to