remm        2005/01/12 09:39:55

  Modified:    modules/storeconfig/src/share/org/apache/catalina/storeconfig
                        StoreFileMover.java
  Log:
  - Fix problems handling context files which do not exist (which is the 
default configuration).
  
  Revision  Changes    Path
  1.2       +13 -4     
jakarta-tomcat-catalina/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java
  
  Index: StoreFileMover.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StoreFileMover.java       8 Jan 2005 11:14:07 -0000       1.1
  +++ StoreFileMover.java       12 Jan 2005 17:39:55 -0000      1.2
  @@ -137,6 +137,9 @@
           if (!configNew.isAbsolute()) {
               configNew = new File(getBasename(), configFile + ".new");
           }
  +        if (!configNew.getParentFile().exists()) {
  +            configNew.getParentFile().mkdirs();
  +        }
           String sb = getTimeTag();
           configSave = new File(configFile + sb);
           if (!configSave.isAbsolute()) {
  @@ -151,18 +154,24 @@
        */
       public void move() throws IOException {
           if (configOld.renameTo(configSave)) {
  -            if (configNew.renameTo(configOld)) {
  -                return;
  -            } else {
  +            if (!configNew.renameTo(configOld)) {
                   configSave.renameTo(configOld);
                   throw new IOException("Cannot rename "
                           + configNew.getAbsolutePath() + " to "
                           + configOld.getAbsolutePath());
               }
           } else {
  -            throw new IOException("Cannot rename "
  +            if (!configOld.exists()) {
  +                if (!configNew.renameTo(configOld)) {
  +                    throw new IOException("Cannot move "
  +                            + configNew.getAbsolutePath() + " to "
  +                            + configOld.getAbsolutePath());
  +                }
  +            } else {
  +                throw new IOException("Cannot rename "
                       + configOld.getAbsolutePath() + " to "
                       + configSave.getAbsolutePath());
  +            }
           }
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to