aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBUtils.java')
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBUtils.java310
1 files changed, 162 insertions, 148 deletions
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBUtils.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBUtils.java
index 3dcfa8aa9..d9f0267df 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBUtils.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBUtils.java
@@ -64,156 +64,170 @@ public final class ConfigurationDBUtils {
}
- /**
- * 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_CONFIG.get();
-
- if (session != null && session.isOpen()) {
+// /**
+// * 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_CONFIG.get();
+//
+// if (session != null && session.isOpen()) {
+//
+// //maybe a hack, but sometimes we do not know if the session is closed (session already closed but isOpen()=true)
+// try {
+// javax.persistence.Query query = session.createQuery("select userdatabase from UserDatabase userdatabase");
+// query.getResultList();
+//
+// } catch (Throwable e) {
+// Logger.warn("JPA Session Handling Warning!!!! - This error should not occur.");
+// session = getNewSession();
+// }
+//
+// } else
+// 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 entitymanagerfactory.createEntityManager();
+// }
+// EntityManager session = (EntityManager) THREAD_LOCAL_CONFIG.get();
+// if (session != null ) {
+// Logger.warn("Previous session has not been closed; closing ConfigDB session now.");
+// closeSession();
+// }
+// Logger.debug("Opening new ConfigDB hibernate session...");
+// try {
+// session = entitymanagerfactory.createEntityManager();
+// THREAD_LOCAL_CONFIG.set(session);
+// } catch (HibernateException hex) {
+// Logger.error(hex.getMessage());
+// }
+// return session;
+// }
- //maybe a hack, but sometimes we do not know if the session is closed (session already closed but isOpen()=true)
- try {
- javax.persistence.Query query = session.createQuery("select userdatabase from UserDatabase userdatabase");
- query.getResultList();
-
- } catch (Throwable e) {
- Logger.warn("JPA Session Handling Warning!!!! - This error should not occur.");
- session = getNewSession();
- }
-
- } else
- 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 entitymanagerfactory.createEntityManager();
- }
- EntityManager session = (EntityManager) THREAD_LOCAL_CONFIG.get();
- if (session != null ) {
- Logger.warn("Previous session has not been closed; closing ConfigDB session now.");
- closeSession();
- }
- Logger.debug("Opening new ConfigDB hibernate session...");
- try {
- session = entitymanagerfactory.createEntityManager();
- THREAD_LOCAL_CONFIG.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.
+ *
+ * @deprecated
+ */
+@SuppressWarnings("unchecked")
+public static void closeSession() {
- /**
- * 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 ConfigDB hibernate session...");
- EntityManager session = (EntityManager) THREAD_LOCAL_CONFIG.get();
- THREAD_LOCAL_CONFIG.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 = ConfigurationDBUtils.getCurrentSession();
- tx = session.getTransaction();
-
- synchronized (session) {
- tx.begin();
- session.merge(dbo);
- tx.commit();
-
- session.clear();
- }
- return true;
-
- } catch(HibernateException e) {
- Logger.warn("Error during Config database saveOrUpdate. Rollback.", e);
- tx.rollback();
- throw new MOADatabaseException(e);
- }
- }
-
+}
- public static boolean saveOrUpdate(Object dbo) throws MOADatabaseException {
- EntityTransaction tx = null;
-
- try {
- EntityManager session = ConfigurationDBUtils.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 Config database saveOrUpdate. Rollback.", e);
- tx.rollback();
- throw new MOADatabaseException(e);
- }
- }
-
- public static boolean delete(Object dbo) {
- EntityTransaction tx = null;
- try {
- EntityManager session = ConfigurationDBUtils.getCurrentSession();
- tx = session.getTransaction();
-
- synchronized (session) {
- tx.begin();
- session.remove(session.contains(dbo) ? dbo : session.merge(dbo));
- tx.commit();
- }
-
- return true;
-
- } catch(HibernateException e) {
- Logger.warn("Error during Config database delete. Rollback.", e);
- tx.rollback();
- return false;
- }
- }
+// /**
+// * 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 ConfigDB hibernate session...");
+// EntityManager session = (EntityManager) THREAD_LOCAL_CONFIG.get();
+// THREAD_LOCAL_CONFIG.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 = ConfigurationDBUtils.getCurrentSession();
+// tx = session.getTransaction();
+//
+// synchronized (session) {
+// tx.begin();
+// session.merge(dbo);
+// tx.commit();
+//
+// session.clear();
+// }
+// return true;
+//
+// } catch(HibernateException e) {
+// Logger.warn("Error during Config database saveOrUpdate. Rollback.", e);
+// tx.rollback();
+// throw new MOADatabaseException(e);
+// }
+// }
+//
+//
+// public static boolean saveOrUpdate(Object dbo) throws MOADatabaseException {
+// EntityTransaction tx = null;
+//
+// try {
+// EntityManager session = ConfigurationDBUtils.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 Config database saveOrUpdate. Rollback.", e);
+// tx.rollback();
+// throw new MOADatabaseException(e);
+// }
+// }
+//
+// public static boolean delete(Object dbo) {
+// EntityTransaction tx = null;
+// try {
+// EntityManager session = ConfigurationDBUtils.getCurrentSession();
+// tx = session.getTransaction();
+//
+// synchronized (session) {
+// tx.begin();
+// session.remove(session.contains(dbo) ? dbo : session.merge(dbo));
+// tx.commit();
+// }
+//
+// return true;
+//
+// } catch(HibernateException e) {
+// Logger.warn("Error during Config database delete. Rollback.", e);
+// tx.rollback();
+// return false;
+// }
+// }
}