You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by me...@apache.org on 2006/10/07 17:16:24 UTC

svn commit: r453930 - /incubator/tuscany/java/sca/plugins/plugin.war/src/main/java/org/apache/tuscany/plugin/war/TuscanyWarMojo.java

Author: meerajk
Date: Sat Oct  7 08:16:23 2006
New Revision: 453930

URL: http://svn.apache.org/viewvc?view=rev&rev=453930
Log:
Fixed a defect.

Modified:
    incubator/tuscany/java/sca/plugins/plugin.war/src/main/java/org/apache/tuscany/plugin/war/TuscanyWarMojo.java

Modified: incubator/tuscany/java/sca/plugins/plugin.war/src/main/java/org/apache/tuscany/plugin/war/TuscanyWarMojo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/plugins/plugin.war/src/main/java/org/apache/tuscany/plugin/war/TuscanyWarMojo.java?view=diff&rev=453930&r1=453929&r2=453930
==============================================================================
--- incubator/tuscany/java/sca/plugins/plugin.war/src/main/java/org/apache/tuscany/plugin/war/TuscanyWarMojo.java (original)
+++ incubator/tuscany/java/sca/plugins/plugin.war/src/main/java/org/apache/tuscany/plugin/war/TuscanyWarMojo.java Sat Oct  7 08:16:23 2006
@@ -35,6 +35,7 @@
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 import java.util.jar.JarOutputStream;
+import java.util.zip.ZipException;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.maven.artifact.Artifact;
@@ -204,10 +205,10 @@
 
             copyOriginal(originalWar, newWar);
             
-            newWar.putNextEntry(new JarEntry(TUSCANY_PATH));
-            newWar.putNextEntry(new JarEntry(BOOT_PATH));
-            newWar.putNextEntry(new JarEntry(EXTENSION_PATH));
-            newWar.putNextEntry(new JarEntry(REPOSITORY_PATH));
+            addEntry(newWar, TUSCANY_PATH);
+            addEntry(newWar, BOOT_PATH);
+            addEntry(newWar, EXTENSION_PATH);
+            addEntry(newWar, REPOSITORY_PATH);
 
             for (Dependency dependency : bootLibs) {
                 for (Artifact art : resolveArtifact(dependency.getArtifact(artifactFactory), true)) {
@@ -246,6 +247,24 @@
         }
 
     }
+    
+    /**
+     * Adds an entry to the JAR failing safe for duplicate.
+     * 
+     * @param jar JAR to which the entry is added.
+     * @param entry Entry to be added.
+     * @return True if added successfully.
+     * @throws IOException In case of an IO error.
+     */
+    private boolean addEntry(JarOutputStream jar, String entry) throws IOException {
+        try {
+            jar.putNextEntry(new JarEntry(entry));
+            return true;
+        } catch(ZipException duplicateEntry) {
+            getLog().info(duplicateEntry.getMessage());
+            return false;
+        }
+    }
 
     /**
      * Writes the dependency metadata.
@@ -272,9 +291,10 @@
             xmlEncoder.writeObject(transDepenedencyMap);
             xmlEncoder.close();
             
-            newWar.putNextEntry(new JarEntry(REPOSITORY_PATH + metadataFile));
-            depMapInStream = new FileInputStream(file);
-            IOUtils.copy(depMapInStream, newWar);
+            if(addEntry(newWar, REPOSITORY_PATH + metadataFile)) {
+                depMapInStream = new FileInputStream(file);
+                IOUtils.copy(depMapInStream, newWar);
+            }
             
         } finally {
             IOUtils.closeQuietly(depMapOutStream);



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