Changeset f4ab211


Ignore:
Timestamp:
Aug 4, 2010, 2:22:46 PM (8 years ago)
Author:
Michael Seifert <mseifert@…>
Branches:
master
Children:
1deae17
Parents:
7d4a5e6
Message:

Updating metadata of SerializingStorage? now works under Windows

Location:
core/src/main/java/de/erichseifert/warp/core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • core/src/main/java/de/erichseifert/warp/core/io/SerializingStorage.java

    r7d4a5e6 rf4ab211  
    4242import de.erichseifert.warp.core.io.statistics.SC2Statistics;
    4343import de.erichseifert.warp.core.io.statistics.Statistics;
     44import de.erichseifert.warp.core.util.FileUtil;
    4445
    4546/**
     
    215216                        String replayFilePath = getSerializationPath(storageDir, replay.getDescriptor());
    216217                        updateMetadata();
    217                         boolean renameSuccessful = replaySerTmp.renameTo(new File(replayFilePath));
    218                         // TODO: Check if renaming was successful
     218                        File replaySer = new File(replayFilePath);
     219                        boolean renameSuccessful = replaySerTmp.renameTo(replaySer);
     220                        if (!renameSuccessful) {
     221                                throw new IOException("Could not move the file "+replaySerTmp.getAbsolutePath()+" to "+replaySer.getAbsolutePath());
     222                        }
    219223                } catch (IOException e) {
    220224                        // TODO Auto-generated catch block
     
    236240                serialize(indexer, indexerTmp.getAbsolutePath());
    237241
    238                 boolean renameSuccessful = descriptorTmp.renameTo(descriptorFile);
    239                 renameSuccessful = statisticsTmp.renameTo(statisticsFile);
    240                 renameSuccessful = indexerTmp.renameTo(indexerFile);
    241                 // TODO: Check if renaming was successful
     242                boolean renameSuccessful = FileUtil.move(descriptorTmp, descriptorFile);
     243                if (!renameSuccessful) {
     244                        throw new IOException("Could not move the file "+descriptorTmp.getAbsolutePath()+" to "+descriptorFile.getAbsolutePath());
     245                }
     246
     247                if (statisticsFile.exists()) {
     248                        statisticsFile.delete();
     249                }
     250                renameSuccessful = FileUtil.move(statisticsTmp, statisticsFile);
     251                if (!renameSuccessful) {
     252                        throw new IOException("Could not move the file "+statisticsTmp.getAbsolutePath()+" to "+statisticsFile.getAbsolutePath());
     253                }
     254
     255                if (indexerFile.exists()) {
     256                        indexerFile.delete();
     257                }
     258                renameSuccessful = FileUtil.move(indexerTmp, indexerFile);
     259                if (!renameSuccessful) {
     260                        throw new IOException("Could not move the file "+indexerTmp.getAbsolutePath()+" to "+indexerFile.getAbsolutePath());
     261                }
    242262        }
    243263
  • core/src/main/java/de/erichseifert/warp/core/util/FileUtil.java

    r7d4a5e6 rf4ab211  
    4444
    4545        private FileUtil() {
     46        }
     47
     48        /**
     49         * Moves the specified source file to the specified destination,
     50         * overwriting any existing files.
     51         * @param src Source file.
     52         * @param dst Destination file.
     53         * @return Move successful.
     54         */
     55        public static boolean move(File src, File dst) {
     56                if (dst.exists()) {
     57                        dst.delete();
     58                }
     59                return src.renameTo(dst);
    4660        }
    4761
Note: See TracChangeset for help on using the changeset viewer.