X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.acorn%2Fsrc%2Forg%2Fsimantics%2Facorn%2Fbackup%2FAcornBackupProvider.java;h=cb4b3cdeea1d18f5477387d0fc0e5b4a6a93b2a4;hp=f75d5864fc84040b496565549ec789f7bc09fe2e;hb=refs%2Fchanges%2F66%2F1666%2F1;hpb=55be1eddbfed0d3d9e9e95a7d2547e287fde84ca diff --git a/bundles/org.simantics.acorn/src/org/simantics/acorn/backup/AcornBackupProvider.java b/bundles/org.simantics.acorn/src/org/simantics/acorn/backup/AcornBackupProvider.java index f75d5864f..cb4b3cdee 100644 --- a/bundles/org.simantics.acorn/src/org/simantics/acorn/backup/AcornBackupProvider.java +++ b/bundles/org.simantics.acorn/src/org/simantics/acorn/backup/AcornBackupProvider.java @@ -139,9 +139,7 @@ public class AcornBackupProvider implements IBackupProvider { return FileVisitResult.CONTINUE; } else if (dir.getParent().getFileName().toString().equals(IDENTIFIER)) { Path targetPath = toPath.resolve(dirName); - if (!Files.exists(targetPath)) { - Files.createDirectory(targetPath); - } + Files.createDirectories(targetPath); return FileVisitResult.CONTINUE; } else if (dirName.toString().length() == 1 && Character.isDigit(dirName.toString().charAt(0))) { int dirNameInt = Integer.parseInt(dirName.toString()); @@ -240,22 +238,19 @@ public class AcornBackupProvider implements IBackupProvider { @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { - Path dirName = dir.getFileName(); - if (dirName.equals(fromPath)) { + if (dir.equals(fromPath)) { Path targetPath = toPath.resolve(fromPath.relativize(dir)); - if (!Files.exists(targetPath)) { - Files.createDirectory(targetPath); - } + Files.createDirectories(targetPath); return FileVisitResult.CONTINUE; } else { - int dirNameInt = Integer.parseInt(dirName.toString()); - if (latestFolder < dirNameInt && dirNameInt <= newestFolder) { - Path targetPath = toPath.resolve(fromPath - .relativize(dir)); - if (!Files.exists(targetPath)) { - Files.createDirectory(targetPath); + try { + int dirNameInt = Integer.parseInt(dir.getFileName().toString()); + if (latestFolder < dirNameInt && dirNameInt <= newestFolder) { + Path targetPath = toPath.resolve(fromPath.relativize(dir)); + Files.createDirectories(targetPath); + return FileVisitResult.CONTINUE; } - return FileVisitResult.CONTINUE; + } catch (NumberFormatException e) { } return FileVisitResult.SKIP_SUBTREE; }