From: Gautam J. <ga...@us...> - 2007-09-12 23:46:41
|
Update of /cvsroot/jaffa/JaffaComponentsUser/source/java/org/jaffa/applications/jaffa/modules/admin/domain In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv9943/source/java/org/jaffa/applications/jaffa/modules/admin/domain Modified Files: User.java UserRole.java Log Message: Index: User.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsUser/source/java/org/jaffa/applications/jaffa/modules/admin/domain/User.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** User.java 20 Mar 2007 22:09:17 -0000 1.2 --- User.java 12 Sep 2007 23:46:34 -0000 1.3 *************** *** 99,103 **** */ public static boolean exists(UOW uow, java.lang.String userName) throws FrameworkException { ! return findByPK(uow, userName) != null ? true : false; } --- 99,121 ---- */ public static boolean exists(UOW uow, java.lang.String userName) throws FrameworkException { ! boolean localUow = false; ! try { ! if (uow == null || !uow.isActive()) { ! uow = new UOW(); ! localUow = true; ! } ! boolean exists = false; ! Criteria criteria = findByPKCriteria(userName); ! criteria.addFunction(Criteria.FUNCTION_COUNT, null, Criteria.ID_FUNCTION_COUNT); ! Iterator itr = uow.query(criteria).iterator(); ! if (itr.hasNext()) { ! Number count = (Number) ((Map) itr.next()).get(Criteria.ID_FUNCTION_COUNT); ! exists = count != null && count.intValue() > 0; ! } ! return exists; ! } finally { ! if (localUow && uow != null) ! uow.rollback(); ! } } Index: UserRole.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsUser/source/java/org/jaffa/applications/jaffa/modules/admin/domain/UserRole.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** UserRole.java 20 Mar 2007 22:09:17 -0000 1.2 --- UserRole.java 12 Sep 2007 23:46:34 -0000 1.3 *************** *** 59,63 **** */ public static boolean exists(UOW uow, java.lang.String userName, java.lang.String roleName) throws FrameworkException { ! return findByPK(uow, userName, roleName) != null ? true : false; } --- 59,81 ---- */ public static boolean exists(UOW uow, java.lang.String userName, java.lang.String roleName) throws FrameworkException { ! boolean localUow = false; ! try { ! if (uow == null || !uow.isActive()) { ! uow = new UOW(); ! localUow = true; ! } ! boolean exists = false; ! Criteria criteria = findByPKCriteria(userName, roleName); ! criteria.addFunction(Criteria.FUNCTION_COUNT, null, Criteria.ID_FUNCTION_COUNT); ! Iterator itr = uow.query(criteria).iterator(); ! if (itr.hasNext()) { ! Number count = (Number) ((Map) itr.next()).get(Criteria.ID_FUNCTION_COUNT); ! exists = count != null && count.intValue() > 0; ! } ! return exists; ! } finally { ! if (localUow && uow != null) ! uow.rollback(); ! } } *************** *** 281,284 **** --- 299,311 ---- */ public User getUserObject() throws ValidationException, FrameworkException { + findUserObject(false); + return m_userObject; + } + + /** Finds the related foreign User object. + * If checkExistenceOnly is false, then the foreign object will be fetched and assigned to the corresponding member variable of this class. + * If checkExistenceOnly is true, then a mere existence check is performed for the foreign object, as oppposed to fetching all the values for that object. + */ + private void findUserObject(boolean checkExistenceOnly) throws ValidationException, FrameworkException { UOW uow = getUOW(); boolean localUow = false; *************** *** 288,291 **** --- 315,321 ---- criteria.setTable(UserMeta.getName()); criteria.addCriteria(UserMeta.USER_NAME, getUserName()); + if (checkExistenceOnly) + criteria.addFunction(Criteria.FUNCTION_COUNT, null, Criteria.ID_FUNCTION_COUNT); + Number count = null; if (uow == null || !uow.isActive()) { uow = new UOW(); *************** *** 293,302 **** } Iterator itr = uow.query(criteria).iterator(); ! if (itr.hasNext()) ! m_userObject = (User) itr.next(); ! if (m_userObject == null) throw new InvalidForeignKeyException(UserRoleMeta.META_USER_NAME.getLabelToken(), new Object[] {UserMeta.getLabelToken(), UserMeta.META_USER_NAME.getLabelToken()}); } - return m_userObject; } finally { if (localUow && uow != null) --- 323,335 ---- } Iterator itr = uow.query(criteria).iterator(); ! if (itr.hasNext()) { ! if (checkExistenceOnly) ! count = (Number) ((Map) itr.next()).get(Criteria.ID_FUNCTION_COUNT); ! else ! m_userObject = (User) itr.next(); ! } ! if (m_userObject == null && (count == null || count.intValue() <= 0)) throw new InvalidForeignKeyException(UserRoleMeta.META_USER_NAME.getLabelToken(), new Object[] {UserMeta.getLabelToken(), UserMeta.META_USER_NAME.getLabelToken()}); } } finally { if (localUow && uow != null) *************** *** 345,349 **** try { if (isModified(UserRoleMeta.USER_NAME)) ! getUserObject(); } catch (ValidationException e) { appExps.add(e); --- 378,382 ---- try { if (isModified(UserRoleMeta.USER_NAME)) ! findUserObject(true); } catch (ValidationException e) { appExps.add(e); |