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