]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.testing/src/org/simantics/db/testing/common/AcornTestHandler.java
Clean up also indexes during DB unit test environment initialization
[simantics/platform.git] / bundles / org.simantics.db.testing / src / org / simantics / db / testing / common / AcornTestHandler.java
index 5f5da8f2e9d7ac1f746605259d59799d7969ac3a..e7e1722ac6f81aedf60022f60c13f153c7d07a9f 100644 (file)
@@ -1,6 +1,7 @@
 package org.simantics.db.testing.common;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.Properties;
 
 import org.eclipse.core.runtime.Platform;
@@ -10,6 +11,7 @@ import org.simantics.db.Manager;
 import org.simantics.db.ServerI;
 import org.simantics.db.Session;
 import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.indexing.DatabaseIndexing;
 
 /**
  * ProCore specific test handler.
@@ -33,15 +35,27 @@ public class AcornTestHandler {
 
     void initNew() throws DatabaseException {
         Management m = getManagement();
-        if (m.exist())
+        if (m.exist()) {
             m.delete();
+        }
+        deleteIndexes();
         m.create();
     }
 
     void initIfNeccessary() throws DatabaseException {
         Management m = getManagement();
-        if (!m.exist())
+        if (!m.exist()) {
             m.create();
+            deleteIndexes();
+        }
+    }
+
+    private void deleteIndexes() throws DatabaseException {
+        try {
+            DatabaseIndexing.deleteAllIndexes();
+        } catch (IOException e) {
+            throw new DatabaseException("Failed to delete all existing indexes", e);
+        }
     }
 
     public Session getSession() throws DatabaseException {