You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2011/10/09 22:27:24 UTC

svn commit: r1180709 - /openejb/trunk/openejb/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java

Author: jgallimore
Date: Sun Oct  9 20:27:23 2011
New Revision: 1180709

URL: http://svn.apache.org/viewvc?rev=1180709&view=rev
Log:
TOMEE-29 only overwrite/touch web.xml if the content has actually changed

Modified:
    openejb/trunk/openejb/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java

Modified: openejb/trunk/openejb/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java?rev=1180709&r1=1180708&r2=1180709&view=diff
==============================================================================
--- openejb/trunk/openejb/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java (original)
+++ openejb/trunk/openejb/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java Sun Oct  9 20:27:23 2011
@@ -22,6 +22,7 @@ import org.apache.openejb.webapp.common.
 
 import java.util.jar.JarFile;
 import java.util.zip.ZipEntry;
+import java.io.FileNotFoundException;
 import java.io.InputStream;
 import java.io.IOException;
 import java.io.ByteArrayInputStream;
@@ -94,6 +95,23 @@ public class Installers {
     }
 
     public static boolean writeAll(File file, String text, Alerts alerts) {
+    	// compare text with existing file content - to stop the file being touched
+    	
+    	if (file.exists()) {
+    		try {
+				FileInputStream is = new FileInputStream(file);
+				String oldText = readAll(is);
+				if (oldText.equals(text)) {
+					return true;
+				}
+			} catch (Exception e) {
+			}
+    		
+            if (! file.delete()) {
+                    alerts.addError("can't replace " + file.getName());
+            }
+    	}
+    	
         FileOutputStream fileOutputStream = null;
         try {
             fileOutputStream = new FileOutputStream(file);