1 package org.simantics.db.procore.internal;
\r
3 import java.io.IOException;
\r
4 import java.util.Properties;
\r
6 import org.simantics.db.DatabaseUserAgent;
\r
7 import org.simantics.db.Driver;
\r
8 import org.simantics.db.ReadGraph;
\r
9 import org.simantics.db.ServerI;
\r
10 import org.simantics.db.Session;
\r
11 import org.simantics.db.authentication.UserAuthenticationAgent;
\r
12 import org.simantics.db.authentication.UserAuthenticator;
\r
13 import org.simantics.db.common.auth.UserAuthenticationAgents;
\r
14 import org.simantics.db.common.request.ReadRequest;
\r
15 import org.simantics.db.exception.DatabaseException;
\r
16 import org.simantics.db.procore.ProCoreDriver;
\r
17 import org.simantics.layer0.Layer0;
\r
19 import fi.vtt.simantics.procore.BackdoorAuthenticator;
\r
20 import fi.vtt.simantics.procore.SessionManagerSource;
\r
21 import fi.vtt.simantics.procore.internal.SessionImplVirtual;
\r
22 import fi.vtt.simantics.procore.internal.SessionImplVirtualInit;
\r
24 public class ProCoreDriverVirtual implements Driver {
\r
25 private static final Boolean DEBUG = true;
\r
26 private final UserAuthenticator authenticator = new BackdoorAuthenticator();
\r
27 private final UserAuthenticationAgent agent = UserAuthenticationAgents.staticAgent(authenticator);
\r
29 public ProCoreDriverVirtual() {
\r
33 private void initLogging() {
\r
35 SessionManagerSource.getSessionManager();
\r
36 } catch (IOException e) {
\r
38 e.printStackTrace();
\r
43 public Session getSession(String address, Properties args) throws DatabaseException {
\r
44 Session s = new SessionImplVirtual(agent);
\r
45 if (args.containsKey("builtinInitializer"))
\r
46 return new SessionImplVirtualInit(agent);
\r
47 else if (args.containsKey("noinitialise")) {
\r
49 System.out.println("noinitialise");
\r
51 s.syncRequest(new ReadRequest() {
\r
53 public void run(ReadGraph g) {
\r
54 // Registers Builtins with the session ServiceLocator.
\r
55 Layer0.getInstance(g);
\r
63 public ServerI getServer(String address, Properties info) throws DatabaseException {
\r
64 return SessionImplVirtual.newVirtualProCoreServer();
\r
68 public String getName() {
\r
69 return ProCoreDriver.ProCoreDriverNameVirtual;
\r
72 public DatabaseUserAgent getDatabaseUserAgent(String address) {
\r
76 public void setDatabaseUserAgent(String address, DatabaseUserAgent dbUserAgent) {
\r
79 public Management getManagement(String address, Properties info) throws DatabaseException {
\r
80 return null; // No management for virtual database.
\r