X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.indexing%2Fsrc%2Forg%2Fsimantics%2Fdb%2Findexing%2FIndexedRelationsSearcherBase.java;h=cf22a0dbf17fa5feb1f5e0467ff9be07bcf759f3;hb=51831d852a2d6cc668c14ab12af8e8dc88c3c384;hp=1c0b9b8416769db88afadb86d5350a62e98d0606;hpb=53733aee4b4a9cdc333e722700867a3e700544b9;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/IndexedRelationsSearcherBase.java b/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/IndexedRelationsSearcherBase.java index 1c0b9b841..cf22a0dbf 100644 --- a/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/IndexedRelationsSearcherBase.java +++ b/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/IndexedRelationsSearcherBase.java @@ -14,6 +14,8 @@ package org.simantics.db.indexing; import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -675,10 +677,10 @@ abstract public class IndexedRelationsSearcherBase { } } } - - s.release(); } catch (DatabaseException e) { throw new IllegalStateException(e); + } finally { + s.release(); } }); } @@ -981,13 +983,10 @@ abstract public class IndexedRelationsSearcherBase { } private static void createDirectory(File path) throws IOException { - if (path.exists() && !path.isDirectory()) - throw new IOException("Could not create index directory " + path + ", a file by that name already exists"); - path.mkdirs(); - if (!path.exists()) - throw new IOException("Could not create index directory " + path + " for an unknown reason"); - if (!path.isDirectory()) + Path p = path.toPath(); + if (Files.exists(p) && !Files.isDirectory(p)) throw new IOException("Could not create index directory " + path + ", a file by that name already exists"); + Files.createDirectories(p); } File getIndexPath() {