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/04/14 07:31:17 UTC

svn commit: r528766 - in /incubator/tuscany/java/sca/modules/contribution-impl/src: main/java/org/apache/tuscany/contribution/service/impl/ main/java/org/apache/tuscany/contribution/service/processor/impl/ test/java/org/apache/tuscany/services/contribu...

Author: lresende
Date: Fri Apr 13 22:31:16 2007
New Revision: 528766

URL: http://svn.apache.org/viewvc?view=rev&rev=528766
Log:
Adding a sourceURL in order to get a file name when storing into the contribution repository.

Added:
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/processor/impl/ContributionPackageProcessorRegistryImpl.java
      - copied, changed from r528711, incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionPackageProcessorRegistryImpl.java
Removed:
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionPackageProcessorRegistryImpl.java
Modified:
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionRepositoryImpl.java
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java
    incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionRepositoryTestCase.java
    incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java
    incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java
    incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionRepositoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionRepositoryImpl.java?view=diff&rev=528766&r1=528765&r2=528766
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionRepositoryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionRepositoryImpl.java Fri Apr 13 22:31:16 2007
@@ -55,6 +55,7 @@
  */
 public class ContributionRepositoryImpl implements ContributionRepository {
     private static final String NS = "http://tuscany.apache.org/xmlns/1.0-SNAPSHOT";
+    private static final String domainIndexFilename = "sca-domain.xml";
     private final File rootFile;
     private Map<URI, String> contributionMap = new HashMap<URI, String>();
 
@@ -98,9 +99,9 @@
      * @param contribution
      * @return
      */
-    private File mapToFile(URI contribution) {
-        // FIXME: Map the contribution URI to a file?
-        return new File(rootFile, "contributions" + File.separator + contribution.getPath());
+    private File mapToFile(URL sourceURL) {
+        String fileName = FileHelper.toFile(sourceURL).getName();
+        return new File(rootFile, "contributions" + File.separator + fileName);
     }
 
     /**
@@ -124,9 +125,9 @@
         }
     }
 
-    public URL store(URI contribution, InputStream contributionStream) throws IOException {
+    public URL store(URI contribution, URL sourceURL, InputStream contributionStream) throws IOException {
         // where the file should be stored in the repository
-        File location = mapToFile(contribution);
+        File location = mapToFile(sourceURL);
         FileHelper.forceMkdir(location.getParentFile());
 
         copy(contributionStream, location);
@@ -142,12 +143,12 @@
 
     public URL store(URI contribution, URL sourceURL) throws IOException {
         // where the file should be stored in the repository
-        File location = mapToFile(contribution);
+        File location = mapToFile(sourceURL);
         File source = FileHelper.toFile(sourceURL);
         if (source == null || source.isFile()) {
             InputStream is = sourceURL.openStream();
             try {
-                return store(contribution, is);
+                return store(contribution, sourceURL, is);
             } finally {
                 IOHelper.closeQuietly(is);
             }
@@ -240,7 +241,7 @@
     }
 
     private void saveMap() {
-        File domainFile = new File(rootFile, "sca-domain.xml");
+        File domainFile = new File(rootFile, domainIndexFilename);
         FileOutputStream os = null;
         try {
             os = new FileOutputStream(domainFile);

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java?view=diff&rev=528766&r1=528765&r2=528766
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java Fri Apr 13 22:31:16 2007
@@ -103,12 +103,11 @@
         if (sourceURL == null) {
             throw new IllegalArgumentException("Source URL for the contribution is null");
         }
-
         addContribution(contributionURI, sourceURL, null, storeInRepository);
     }
 
-    public void contribute(URI contributionURI, InputStream input) throws ContributionException, IOException {
-        addContribution(contributionURI, null, input, true);
+    public void contribute(URI contributionURI, URL sourceURL, InputStream input) throws ContributionException, IOException {
+        addContribution(contributionURI, sourceURL, input, true);
     }
 
     private Contribution initializeContributionMetadata(URL sourceURL) throws ContributionException {
@@ -226,10 +225,10 @@
         // store the contribution in the contribution repository
         URL locationURL = sourceURL;
         if (contributionRepository != null && storeInRepository) {
-            if (sourceURL != null) {
+            if (contributionStream == null) {
                 locationURL = contributionRepository.store(contributionURI, sourceURL);
             } else {
-                locationURL = contributionRepository.store(contributionURI, contributionStream);
+                locationURL = contributionRepository.store(contributionURI, sourceURL, contributionStream);
             }
         }
 
@@ -239,7 +238,9 @@
 
         List<URI> contributionArtifacts = null;
 
-        if (contributionStream == null) {
+        //NOTE: if a contribution is stored on the repository
+        //the stream would be consumed at this point
+        if (storeInRepository || contributionStream == null) {
             contributionStream = sourceURL.openStream();
             try {
                 // process the contribution

Copied: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/processor/impl/ContributionPackageProcessorRegistryImpl.java (from r528711, incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionPackageProcessorRegistryImpl.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/processor/impl/ContributionPackageProcessorRegistryImpl.java?view=diff&rev=528766&p1=incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionPackageProcessorRegistryImpl.java&r1=528711&p2=incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/processor/impl/ContributionPackageProcessorRegistryImpl.java&r2=528766
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionPackageProcessorRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/processor/impl/ContributionPackageProcessorRegistryImpl.java Fri Apr 13 22:31:16 2007
@@ -17,7 +17,7 @@
  * under the License.    
  */
 
-package org.apache.tuscany.contribution.service.impl;
+package org.apache.tuscany.contribution.service.processor.impl;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -31,6 +31,7 @@
 import org.apache.tuscany.contribution.service.ContributionException;
 import org.apache.tuscany.contribution.service.TypeDescriber;
 import org.apache.tuscany.contribution.service.UnsupportedContentTypeException;
+import org.apache.tuscany.contribution.service.impl.PackageTypeDescriberImpl;
 import org.apache.tuscany.contribution.service.processor.ContributionPackageProcessor;
 import org.apache.tuscany.contribution.service.processor.ContributionPackageProcessorRegistry;
 

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionRepositoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionRepositoryTestCase.java?view=diff&rev=528766&r1=528765&r2=528766
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionRepositoryTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionRepositoryTestCase.java Fri Apr 13 22:31:16 2007
@@ -42,8 +42,9 @@
     public void testStore() throws Exception {
         String resourceLocation = "/repository/sample-calculator.jar";
         URI contribution = URI.create("sample-calculator.jar");
+        URL contributionLocation = getClass().getResource(resourceLocation);
         InputStream contributionStream = getClass().getResourceAsStream(resourceLocation);
-        repository.store(contribution, contributionStream);
+        repository.store(contribution, contributionLocation, contributionStream);
 
         URL contributionURL = repository.find(contribution);
         assertNotNull(contributionURL);
@@ -52,8 +53,9 @@
     public void testRemove() throws Exception {
         String resourceLocation = "/repository/sample-calculator.jar";
         URI contribution = URI.create("sample-calculator.jar");
+        URL contributionLocation = getClass().getResource(resourceLocation);
         InputStream contributionStream = getClass().getResourceAsStream(resourceLocation);
-        repository.store(contribution, contributionStream);
+        repository.store(contribution, contributionLocation, contributionStream);
 
         repository.remove(contribution);
         URL contributionURL = repository.find(contribution);
@@ -63,8 +65,9 @@
     public void testList() throws Exception {
         String resourceLocation = "/repository/sample-calculator.jar";
         URI contribution = URI.create("sample-calculator.jar");
+        URL contributionLocation = getClass().getResource(resourceLocation);
         InputStream contributionStream = getClass().getResourceAsStream(resourceLocation);
-        repository.store(contribution, contributionStream);
+        repository.store(contribution, contributionLocation, contributionStream);
 
         assertEquals(1, repository.list().size());
     }

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java?view=diff&rev=528766&r1=528765&r2=528766
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java Fri Apr 13 22:31:16 2007
@@ -27,8 +27,8 @@
 import org.apache.tuscany.contribution.service.ContributionService;
 import org.apache.tuscany.contribution.service.TypeDescriber;
 import org.apache.tuscany.contribution.service.impl.ArtifactTypeDescriberImpl;
-import org.apache.tuscany.contribution.service.impl.ContributionPackageProcessorRegistryImpl;
 import org.apache.tuscany.contribution.service.processor.ContributionPackageProcessorRegistry;
+import org.apache.tuscany.contribution.service.processor.impl.ContributionPackageProcessorRegistryImpl;
 import org.apache.tuscany.contribution.service.processor.impl.FolderContributionProcessor;
 import org.apache.tuscany.contribution.service.processor.impl.JarContributionProcessor;
 

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java?view=diff&rev=528766&r1=528765&r2=528766
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java Fri Apr 13 22:31:16 2007
@@ -24,9 +24,9 @@
 
 import junit.framework.TestCase;
 
-import org.apache.tuscany.contribution.service.impl.ContributionPackageProcessorRegistryImpl;
 import org.apache.tuscany.contribution.service.impl.PackageTypeDescriberImpl;
 import org.apache.tuscany.contribution.service.processor.ContributionPackageProcessorRegistry;
+import org.apache.tuscany.contribution.service.processor.impl.ContributionPackageProcessorRegistryImpl;
 import org.apache.tuscany.contribution.service.processor.impl.FolderContributionProcessor;
 
 public class FolderContributionPackageProcessorTestCase extends TestCase {

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java?view=diff&rev=528766&r1=528765&r2=528766
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java Fri Apr 13 22:31:16 2007
@@ -25,9 +25,9 @@
 
 import junit.framework.TestCase;
 
-import org.apache.tuscany.contribution.service.impl.ContributionPackageProcessorRegistryImpl;
 import org.apache.tuscany.contribution.service.impl.PackageTypeDescriberImpl;
 import org.apache.tuscany.contribution.service.processor.ContributionPackageProcessorRegistry;
+import org.apache.tuscany.contribution.service.processor.impl.ContributionPackageProcessorRegistryImpl;
 import org.apache.tuscany.contribution.service.processor.impl.JarContributionProcessor;
 import org.apache.tuscany.contribution.service.util.IOHelper;
 



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org