comparison flys-backend/src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java @ 178:82bc55666a97

Expose the creation of the SessionFactory to the public to be useful when running without a artifact database. flys-backend/trunk@1486 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 16 Mar 2011 17:16:27 +0000
parents 3035d861a576
children aaac9c291067
comparison
equal deleted inserted replaced
177:31895d24387e 178:82bc55666a97
63 private SessionFactoryProvider() { 63 private SessionFactoryProvider() {
64 } 64 }
65 65
66 public static synchronized SessionFactory getSessionFactory() { 66 public static synchronized SessionFactory getSessionFactory() {
67 if (sessionFactory == null) { 67 if (sessionFactory == null) {
68 sessionFactory = createSessionFactory(); 68 String user =
69 Config.getStringXPath(XPATH_USER, DEFAULT_USER);
70 String password =
71 Config.getStringXPath(XPATH_PASSWORD, DEFAULT_PASSWORD);
72 String dialect =
73 Config.getStringXPath(XPATH_DIALECT, DEFAULT_DIALECT);
74 String driver =
75 Config.getStringXPath(XPATH_DRIVER, DEFAULT_DRIVER);
76 String url =
77 Config.getStringXPath(XPATH_URL, DEFAULT_URL);
78
79 sessionFactory = createSessionFactory(
80 user, password, dialect, driver, url);
69 } 81 }
70 return sessionFactory; 82 return sessionFactory;
71 } 83 }
72 84
73 private static SessionFactory createSessionFactory() { 85 public static SessionFactory createSessionFactory(
74 86 String user,
87 String password,
88 String dialect,
89 String driver,
90 String url
91 ) {
75 Configuration cfg = new Configuration(); 92 Configuration cfg = new Configuration();
76 93
77 // TODO: Use package reflection here. 94 // TODO: Use package reflection here.
78 cfg.addAnnotatedClass(Annotation.class); 95 cfg.addAnnotatedClass(Annotation.class);
79 cfg.addAnnotatedClass(Attribute.class); 96 cfg.addAnnotatedClass(Attribute.class);
89 cfg.addAnnotatedClass(WstColumn.class); 106 cfg.addAnnotatedClass(WstColumn.class);
90 cfg.addAnnotatedClass(WstColumnQRange.class); 107 cfg.addAnnotatedClass(WstColumnQRange.class);
91 cfg.addAnnotatedClass(WstColumnValue.class); 108 cfg.addAnnotatedClass(WstColumnValue.class);
92 cfg.addAnnotatedClass(Wst.class); 109 cfg.addAnnotatedClass(Wst.class);
93 cfg.addAnnotatedClass(WstQRange.class); 110 cfg.addAnnotatedClass(WstQRange.class);
94
95 String user =
96 Config.getStringXPath(XPATH_USER, DEFAULT_USER);
97 String password =
98 Config.getStringXPath(XPATH_PASSWORD, DEFAULT_PASSWORD);
99 String dialect =
100 Config.getStringXPath(XPATH_DIALECT, DEFAULT_DIALECT);
101 String driver =
102 Config.getStringXPath(XPATH_DRIVER, DEFAULT_DRIVER);
103 String url =
104 Config.getStringXPath(XPATH_URL, DEFAULT_URL);
105 111
106 if (log.isDebugEnabled()) { 112 if (log.isDebugEnabled()) {
107 log.debug("user: " + user); 113 log.debug("user: " + user);
108 log.debug("dialect: " + dialect); 114 log.debug("dialect: " + dialect);
109 log.debug("driver: " + driver); 115 log.debug("driver: " + driver);

http://dive4elements.wald.intevation.org