1 /*******************************************************************************
\r
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
\r
3 * in Industry THTH ry.
\r
4 * All rights reserved. This program and the accompanying materials
\r
5 * are made available under the terms of the Eclipse Public License v1.0
\r
6 * which accompanies this distribution, and is available at
\r
7 * http://www.eclipse.org/legal/epl-v10.html
\r
10 * VTT Technical Research Centre of Finland - initial API and implementation
\r
11 *******************************************************************************/
\r
12 package fi.vtt.simantics.procore;
\r
13 import java.io.IOException;
\r
14 import java.util.Properties;
\r
16 import org.simantics.db.SessionManager;
\r
17 import org.simantics.db.procore.protocol.Constants;
\r
19 import fi.vtt.simantics.procore.internal.SessionManagerFactory;
\r
20 import fi.vtt.simantics.procore.internal.SessionManagerFactoryImpl;
\r
22 public final class SessionManagerSource {
\r
24 public static final long NullSessionId = Constants.NullSessionId;
\r
25 public static final long NullTransactionId = Constants.NullTransactionId;
\r
26 public static final long NullSubjectId = Constants.NullSubjectId;
\r
28 private static SessionManager defaultSessionManager = null;
\r
31 * @param loggerProperties
\r
33 * @throws IOException
\r
35 public static synchronized SessionManager getSessionManager(Properties loggerProperties) throws IOException {
\r
36 if (defaultSessionManager == null) {
\r
37 SessionManagerFactory factory = SessionManagerFactoryImpl.getInstance();
\r
38 defaultSessionManager = factory.createSessionManager();
\r
40 return defaultSessionManager;
\r
45 * @throws IOException
\r
47 public static synchronized SessionManager getSessionManager() throws IOException {
\r
48 return getSessionManager(nullProperties);
\r
54 public static synchronized void shutdown() {
\r
55 SessionManagerFactoryImpl.finish();
\r
60 * Properties with the default null logger settings.
\r
62 public static Properties nullProperties = new Properties();
\r
64 nullProperties.put("log4j.rootCategory", "INFO, default");
\r
65 nullProperties.put("log4j.appender.default", "org.apache.log4j.varia.NullAppender");
\r