]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.testing/src/org/simantics/db/testing/common/AcornTestHandler.java
5f5da8f2e9d7ac1f746605259d59799d7969ac3a
[simantics/platform.git] / bundles / org.simantics.db.testing / src / org / simantics / db / testing / common / AcornTestHandler.java
1 package org.simantics.db.testing.common;
2
3 import java.io.File;
4 import java.util.Properties;
5
6 import org.eclipse.core.runtime.Platform;
7 import org.simantics.db.Driver;
8 import org.simantics.db.Driver.Management;
9 import org.simantics.db.Manager;
10 import org.simantics.db.ServerI;
11 import org.simantics.db.Session;
12 import org.simantics.db.exception.DatabaseException;
13
14 /**
15  * ProCore specific test handler.
16  *
17  */
18 public class AcornTestHandler {
19     // private final TestSettings testSettings;
20     private final Driver driver;
21     private final File dbFolder;
22
23     AcornTestHandler(TestSettings testSettings, String dbFolderName) throws DatabaseException {
24         // this.testSettings = testSettings;
25         driver = Manager.getDriver("acorn");
26         if (driver == null)
27             throw new IllegalArgumentException("No driver found for acorn!");
28         if (null == dbFolderName)
29             dbFolder = Platform.getLocation().append("db").toFile();
30         else
31             dbFolder = new File(dbFolderName);
32     }
33
34     void initNew() throws DatabaseException {
35         Management m = getManagement();
36         if (m.exist())
37             m.delete();
38         m.create();
39     }
40
41     void initIfNeccessary() throws DatabaseException {
42         Management m = getManagement();
43         if (!m.exist())
44             m.create();
45     }
46
47     public Session getSession() throws DatabaseException {
48         // Note that we normally user authentication agent for user
49         // identification.
50         Properties props = new Properties();
51         props.setProperty("user", "Default User");
52         props.setProperty("password", "");
53         return driver.getSession(dbFolder.getAbsolutePath(), props);
54     }
55
56     public ServerI getServer() throws DatabaseException {
57         return driver.getServer(dbFolder.getAbsolutePath(), null);
58     }
59
60     public Management getManagement() throws DatabaseException {
61         return driver.getManagement(dbFolder.getAbsolutePath(), null);
62     }
63
64 }