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
* 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
\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
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