]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics/src/org/simantics/Simantics.java
Merge commit '145a2884933f2ffdd48d6835729e58f1152d274e'
[simantics/platform.git] / bundles / org.simantics / src / org / simantics / Simantics.java
index 1e01acf71f1c7cc097a418ac18deaa82c214add5..daa9e7e10afd49e250767e29822d8f749eb166cd 100644 (file)
@@ -56,6 +56,8 @@ import org.simantics.utils.FileService;
 import org.simantics.utils.FileUtils;\r
 import org.simantics.utils.TempFiles;\r
 import org.simantics.utils.threads.ThreadUtils;\r
+import org.slf4j.Logger;\r
+import org.slf4j.LoggerFactory;\r
 \r
 /**\r
  * A facade for accessing basic Simantics platform services. Usable without a\r
@@ -67,10 +69,35 @@ import org.simantics.utils.threads.ThreadUtils;
  * TODO: duplicate of org.simantics.db.layer0.util.Simantics, do something about this!!\r
  */\r
 public class Simantics {\r
+    private static final Logger LOGGER = LoggerFactory.getLogger(Simantics.class);\r
+\r
+    /**\r
+     * Default database driver ID\r
+     */\r
+    private static final String DEFAULT_DATABASE_DRIVER_ID = "procore";\r
+\r
+    private static String defaultDatabaseDriverId = DEFAULT_DATABASE_DRIVER_ID;\r
 \r
     private static ISessionContextProviderSource providerSource = null;\r
     private static volatile FileServiceImpl fileService = null;\r
 \r
+    /**\r
+     * Sets the database driver to be used by the platform. To have any effect,\r
+     * this must be set before platform startup.\r
+     * \r
+     * @param id driver id\r
+     */\r
+    public static void setDefaultDatabaseDriver(String id) {\r
+        defaultDatabaseDriverId = id;\r
+    }\r
+\r
+    /**\r
+     * Returns currently set default database driver id.\r
+     */\r
+    public static String getDefaultDatabaseDriver() {\r
+        return defaultDatabaseDriverId;\r
+    }\r
+\r
     /**\r
      * @param args\r
      * @param progress\r
@@ -142,7 +169,7 @@ public class Simantics {
 \r
         if (progress == null)\r
             progress = new NullProgressMonitor();\r
-        return SimanticsPlatform.INSTANCE.startUp(null, progress, workspacePolicy, ontologyPolicy, true, new ConsoleUserAgent());\r
+        return SimanticsPlatform.INSTANCE.startUp(defaultDatabaseDriverId, progress, workspacePolicy, ontologyPolicy, true, new ConsoleUserAgent());\r
     }\r
 \r
     /**\r
@@ -416,7 +443,7 @@ public class Simantics {
         try {\r
             IndexUtils.flushIndexCaches(progress, session);\r
         } catch (Exception e) {\r
-            Logger.defaultLogError(e);\r
+            LOGGER.error("Flushing index caches failed.", e);\r
         }\r
     }\r
 \r