/** * Commit the database level changes. Declared in AbstractDAO class. * * @throws DAOException */ public void commit() throws DAOException { try { auditManager.insert(this); if (transaction != null) transaction.commit(); } catch (HibernateException dbex) { Logger.out.error(dbex.getMessage(), dbex); throw handleError("Error in commit: ", dbex); } }
public void audit(Object obj, Object oldObj, SessionDataBean sessionDataBean, boolean isAuditable) throws DAOException { try { if (obj instanceof Auditable && isAuditable) { // Logger.out.debug("In update audit..................................."); auditManager.compare((Auditable) obj, (Auditable) oldObj, "UPDATE"); } } catch (AuditException hibExp) { throw handleError("", hibExp); } }
/** * This method will be used to establish the session with the database. Declared in AbstractDAO * class. * * @throws DAOException */ public void openSession(SessionDataBean sessionDataBean) throws DAOException { // Logger.out.info("Session opened:------------------------"); try { session = DBUtil.currentSession(); // Logger.out.info("Transaction begin:---------------------"); transaction = session.beginTransaction(); auditManager = new AuditManager(); if (sessionDataBean != null) { auditManager.setUserId(sessionDataBean.getUserId()); auditManager.setIpAddress(sessionDataBean.getIpAddress()); } else { auditManager.setUserId(null); } } catch (HibernateException dbex) { Logger.out.error(dbex.getMessage(), dbex); throw handleError(Constants.GENERIC_DATABASE_ERROR, dbex); } }
/** * Saves the persistent object in the database. * * @param obj The object to be saved. * @param session The session in which the object is saved. * @throws DAOException * @throws HibernateException Exception thrown during hibernate operations. */ public void insert( Object obj, SessionDataBean sessionDataBean, boolean isAuditable, boolean isSecureInsert) throws DAOException, UserNotAuthorizedException { // Logger.out.info("inser call---------------------"); boolean isAuthorized = true; try { if (isSecureInsert) { if (null != sessionDataBean) { String userName = sessionDataBean.getUserName(); if (userName != null) { isAuthorized = SecurityManager.getInstance(this.getClass()) .isAuthorized(userName, obj.getClass().getName(), Permissions.CREATE); } else { isAuthorized = false; } } else { isAuthorized = false; } } // Logger.out.debug(" User's Authorization to insert "+obj.getClass()+" , "+isAuthorized); if (isAuthorized) { session.save(obj); if (obj instanceof Auditable && isAuditable) auditManager.compare((Auditable) obj, null, "INSERT"); isUpdated = true; } else { throw new UserNotAuthorizedException("Not Authorized to insert"); } } catch (HibernateException hibExp) { throw handleError("", hibExp); } catch (AuditException hibExp) { throw handleError("", hibExp); } catch (SMException smex) { throw handleError("", smex); } }
public void addAuditEventLogs(Collection auditEventDetailsCollection) { auditManager.addAuditEventLogs(auditEventDetailsCollection); }