aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationUtil.java')
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationUtil.java201
1 files changed, 0 insertions, 201 deletions
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationUtil.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationUtil.java
deleted file mode 100644
index 695bf4028..000000000
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationUtil.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package at.gv.egovernment.moa.id.commons.db;
-
-import java.util.Properties;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.EntityTransaction;
-import javax.persistence.Persistence;
-
-import org.hibernate.HibernateException;
-import org.hibernate.Session;
-
-import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
-import at.gv.egovernment.moa.logging.Logger;
-
-public final class ConfigurationUtil {
-
- private static EntityManagerFactory entitymanagerfactory;
-
- @SuppressWarnings("rawtypes")
- private static final ThreadLocal THREAD_LOCAL = new ThreadLocal();
- private static boolean automaticSessionHandling = false;
-
- protected ConfigurationUtil() { }
-
- public static void initHibernate(Properties props) {
-
- try {
-
- //add Hibernate annotations
-// Configuration hibernateConfig = new Configuration();
-// hibernateConfig.addAnnotatedClass(AssertionStore.class);
-// hibernateConfig.addAnnotatedClass(AuthenticatedSessionStore.class);
-// hibernateConfig.addAnnotatedClass(OASessionStore.class);
-// hibernateConfig.addAnnotatedClass(OldSSOSessionIDStore.class);
-// hibernateConfig.addProperties(props);
-
-
- Logger.debug("Creating initial session factory...");
-// entitymanagerfactory =
-// Persistence.createEntityManagerFactory("at.gv.egovernment.moa.id.commons.db.dao.config",
-// hibernateConfig.getProperties());
-
- entitymanagerfactory =
- Persistence.createEntityManagerFactory("at.gv.egovernment.moa.id.commons.db.dao.config",
- props);
-
- Logger.debug("Initial session factory successfully created.");
-
-
- } catch (Throwable ex) {
- Logger.error("Initial session factory creation failed: " + ex.getMessage());
- throw new ExceptionInInitializerError(ex);
- }
- }
-
-
- /**
- * Checks if a session factory is currently available. If necessary a new
- * session factory is created.
- *
- * @return current (or new) session factory
- * @throws HibernateException
- * thrown if a hibernate error occurs
- */
- public static EntityManager getCurrentSession() {
- if (automaticSessionHandling) {
-
- return entitymanagerfactory.createEntityManager();
- }
-
- EntityManager session = (EntityManager) THREAD_LOCAL.get();
- // Open a new Session, if this Thread has none yet
- if (session == null) {
- session = getNewSession();
- }
- return session;
- }
-
- @SuppressWarnings("unchecked")
- public static EntityManager getNewSession() {
- if (automaticSessionHandling) {
- Logger.warn("Session is being automatically handled by hibernate. Therefore this session maybe not being newly created. Use HibernateUtil.getCurrentSession() instead.");
- //return sessionFactory.getCurrentSession();
- return entitymanagerfactory.createEntityManager();
- }
- EntityManager session = (EntityManager) THREAD_LOCAL.get();
- if (session != null) {
- Logger.warn("Previous session has not been closed; closing session now.");
- closeSession();
- }
- Logger.debug("Opening new hibernate session...");
- try {
- session = entitymanagerfactory.createEntityManager();
- THREAD_LOCAL.set(session);
- } catch (HibernateException hex) {
- Logger.error(hex.getMessage());
- }
- return session;
- }
-
- /**
- * Closes the current session.
- *
- * @throws HibernateException
- * thrown if session is already closed or a hibernate error
- * occurs.
- */
- @SuppressWarnings("unchecked")
- public static void closeSession() {
- if (automaticSessionHandling) {
- Logger.warn("Session is being automatically handled by hibernate. Therefore the current session cannot be closed on demand.");
- return;
- }
- Logger.debug("Closing current hibernate session...");
- Session session = (Session) THREAD_LOCAL.get();
- THREAD_LOCAL.set(null);
- if (session != null) {
- try {
- session.close();
-
- } catch (HibernateException hex) {
- Logger.error(hex.getMessage());
- }
- }
- }
-
- public static boolean save(Object dbo) throws MOADatabaseException {
- EntityTransaction tx = null;
-
- try {
- EntityManager session = ConfigurationUtil.getCurrentSession();
- tx = session.getTransaction();
-
- synchronized (session) {
- tx.begin();
- session.persist(dbo);
- tx.commit();
-
- session.clear();
- }
- return true;
-
- } catch(HibernateException e) {
- Logger.warn("Error during database saveOrUpdate. Rollback.", e);
- tx.rollback();
- throw new MOADatabaseException(e);
- }
- }
-
-
- public static boolean saveOrUpdate(Object dbo) throws MOADatabaseException {
- EntityTransaction tx = null;
-
- try {
- EntityManager session = ConfigurationUtil.getCurrentSession();
- tx = session.getTransaction();
-
- synchronized (session) {
- tx.begin();
-
- session.merge(dbo);
- session.flush();
-
- tx.commit();
-
- session.clear();
- }
- return true;
-
- } catch(HibernateException e) {
- Logger.warn("Error during database saveOrUpdate. Rollback.", e);
- tx.rollback();
- throw new MOADatabaseException(e);
- }
- }
-
- public static boolean delete(Object dbo) {
- EntityTransaction tx = null;
- try {
- EntityManager session = ConfigurationUtil.getCurrentSession();
- tx = session.getTransaction();
-
- synchronized (session) {
- tx.begin();
- session.remove(session.contains(dbo) ? dbo : session.merge(dbo));
- tx.commit();
-
- session.clear();
- }
-
- return true;
-
- } catch(HibernateException e) {
- Logger.warn("Error during database delete. Rollback.", e);
- tx.rollback();
- return false;
- }
- }
-
-}