You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by es...@apache.org on 2007/07/13 07:24:56 UTC

svn commit: r555878 - in /portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble: AbstractArchiveAssembler.java file/FileAssembler.java

Author: esm
Date: Thu Jul 12 22:24:55 2007
New Revision: 555878

URL: http://svn.apache.org/viewvc?view=rev&rev=555878
Log:
[PLUTO-390]: renameTo(File) is implementation specific.  If the rename fails, copy the file instead. (trunk)

Modified:
    portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AbstractArchiveAssembler.java
    portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/file/FileAssembler.java

Modified: portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AbstractArchiveAssembler.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AbstractArchiveAssembler.java?view=diff&rev=555878&r1=555877&r2=555878
==============================================================================
--- portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AbstractArchiveAssembler.java (original)
+++ portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AbstractArchiveAssembler.java Thu Jul 12 22:24:55 2007
@@ -19,6 +19,7 @@
 import java.io.File;
 import java.io.IOException;
 
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.pluto.util.UtilityException;
@@ -61,7 +62,12 @@
                     dest = File.createTempFile( source.getName(), ".tmp" );
                     config.setDestination( dest );
                     assembleInternal( config );
-                    dest.renameTo( source );          
+                    // renameTo() is impl-specific
+                    boolean success = dest.renameTo( source );
+                    if (! success ) {
+                        // do it the old-fashioned way
+                        FileUtils.copyFile( dest, source );
+                    }
             } else {
                 if ( LOG.isDebugEnabled() ) {
                     LOG.debug( "Performing assembly of " + config.getSource().getAbsolutePath() + " to " + 

Modified: portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/file/FileAssembler.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/file/FileAssembler.java?view=diff&rev=555878&r1=555877&r2=555878
==============================================================================
--- portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/file/FileAssembler.java (original)
+++ portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/file/FileAssembler.java Thu Jul 12 22:24:55 2007
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.apache.commons.io.FileUtils;
 import org.apache.pluto.util.UtilityException;
 import org.apache.pluto.util.assemble.AssemblerConfig;
 import org.apache.pluto.util.assemble.WebXmlRewritingAssembler;
@@ -61,7 +62,11 @@
 
                 //Move the temp file to the destination location
                 destinationDescriptor.delete();
-                tempXml.renameTo(destinationDescriptor);
+                // renameTo() is impl-specific
+                boolean success = tempXml.renameTo(destinationDescriptor);
+                if (! success) {
+                    FileUtils.copyFile( tempXml, destinationDescriptor );
+                }
             }
             else {
                 destinationDescriptor.getParentFile().mkdirs();