Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== diff -u -r6633f5d5c7844c27582a9b323fead87fac99dfd5 -r41d952fd0b939d2d4248dbcd9bc20bcdd52a04b5 --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5) +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 41d952fd0b939d2d4248dbcd9bc20bcdd52a04b5) @@ -82,9 +82,6 @@ singleton="false" > - - - @@ -94,7 +91,8 @@ true - PROPAGATION_REQUIRED + PROPAGATION_REQUIRED,readOnly + PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java =================================================================== diff -u -r6633f5d5c7844c27582a9b323fead87fac99dfd5 -r41d952fd0b939d2d4248dbcd9bc20bcdd52a04b5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision 41d952fd0b939d2d4248dbcd9bc20bcdd52a04b5) @@ -29,7 +29,6 @@ import java.util.Map; import java.util.Vector; -import org.lamsfoundation.lams.usermanagement.AuthenticationMethod; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; @@ -51,84 +50,7 @@ public interface IUserManagementService { - /** - * Retrieves a tree of organisations for a user. The top of the tree is a "dummy" root - * organisation, just so that we have a real tree. This makes life easier for Flash. - * - * If restrictToRoleNames contains any role names (ie not null and size > 0 ) - * then it will restrict the organisations to those in which the user has one of the - * given roles. If restrictToRoleNames is null/empty then till return all organisations - * to which the user belongs. - * - * @param user mandatory - * @param restrictToRoleNames role names to which to restrict the user - * @return List of organisationDTOs - */ - public OrganisationDTO getOrganisationsForUserByRole(User user, List restrictToRoleNames); - /** - * Retrieves a tree of child of organisations in which the user has the specified role. - * If courseID only is set, then return course organisationDTO and its children as its nodes - * If courseID && restrictToClassIds are set, then course organisationDTO and its the nominated class - * organisationDTOs - most cases will have only single classID - * - * If restrictToRoleNames contains any role names (ie not null and size > 0 ) - * then it will restrict the organisations to those in which the user has one of the - * given roles. - * - * @param user mandatory - * @param roles optional - * @param courseID mandatory - * @param restrictToClassIds optional - * @return organisationDTO hierarchy, in WDDX format. - */ - public OrganisationDTO getOrganisationsForUserByRole(User user, List restrictToRoleNames, Integer courseId, List restrictToClassIds); - - /** - * Gets an organisation for a user, with the user's roles. Doesn't not return a tree of organisations - */ - public OrganisationDTO getOrganisationForUserWithRole(User user, Integer organisationId); - - /** - * Retrieves roles in which the user - * has the specified role - * - * @param user the user - * @param orgId organisation's id - * @return List of roles - */ - public List getRolesForUserByOrganisation(User user, Integer orgId); - - /** - * Retrieves users from the specified organisation - * - * @param orgId organisation's id - * @return List of users - */ - public List getUsersFromOrganisation(Integer orgId); - - /** - * This method returns the users in the Organisation with - * given organisationID and roleName - * - * @param organisationID - * @param roleName - * @return UserDTO objects (in a Vector to suit WDDX) - */ - public Vector getUsersFromOrganisationByRole(Integer organisationID, String roleName); - - /** Get all the lessons in an organisation that this user can monitor. - * This is a temporary method to support the dummy index page. - * TODO modify/remove when the index page is implemented properly - */ - public List getMonitorLessonsFromOrganisation(Integer userID, Integer organisationID); - /** Get all the lessons in an organisation for which this user is a learner. - * This is a temporary method to support the dummy index page. - * TODO modify/remove when the index page is implemented properly - */ - public List getLearnerLessonsFromOrganisation(Integer userID, Integer organisationID); - - /** * save(insert or update) * @param object The object to be inserted */ @@ -223,28 +145,122 @@ */ public List findAnythingLike(Object object); + /** + * Retrieves a tree of organisations for a user. The top of the tree is a "dummy" root + * organisation, just so that we have a real tree. This makes life easier for Flash. + * + * If restrictToRoleNames contains any role names (ie not null and size > 0 ) + * then it will restrict the organisations to those in which the user has one of the + * given roles. If restrictToRoleNames is null/empty then till return all organisations + * to which the user belongs. + * + * @param user mandatory + * @param restrictToRoleNames role names to which to restrict the user + * @return List of organisationDTOs + */ + public OrganisationDTO getOrganisationsForUserByRole(User user, List restrictToRoleNames); + /** + * Retrieves a tree of child of organisations in which the user has the specified role. + * If courseID only is set, then return course organisationDTO and its children as its nodes + * If courseID && restrictToClassIds are set, then course organisationDTO and its the nominated class + * organisationDTOs - most cases will have only single classID + * + * If restrictToRoleNames contains any role names (ie not null and size > 0 ) + * then it will restrict the organisations to those in which the user has one of the + * given roles. + * + * @param user mandatory + * @param roles optional + * @param courseID mandatory + * @param restrictToClassIds optional + * @return organisationDTO hierarchy, in WDDX format. + */ + public OrganisationDTO getOrganisationsForUserByRole(User user, List restrictToRoleNames, Integer courseId, List restrictToClassIds); + + /** + * Gets an organisation for a user, with the user's roles. Doesn't not return a tree of organisations + */ + public OrganisationDTO getOrganisationForUserWithRole(User user, Integer organisationId); + + /** + * Retrieves roles in which the user + * has the specified role + * + * @param user the user + * @param orgId organisation's id + * @return List of roles + */ + public List getRolesForUserByOrganisation(User user, Integer orgId); + + /** + * Retrieves users from the specified organisation + * + * @param orgId organisation's id + * @return List of users + */ + public List getUsersFromOrganisation(Integer orgId); + + /** + * This method returns the users in the Organisation with + * given organisationID and roleName + * + * @param organisationID + * @param roleName + * @return UserDTO objects (in a Vector to suit WDDX) + */ + public Vector getUsersFromOrganisationByRole(Integer organisationID, String roleName); + + public Organisation getRootOrganisation(); + + /** * @param userId * @param orgId * @param roleName * @return true or false */ public boolean isUserInRole(Integer userId,Integer orgId, String roleName); + /** + * @param typeId + * @param stateId + * @return a list of organisations + */ public List getOrganisationsByTypeAndStatus(Integer typeId, Integer stateId); + /** + * @param orgId + * @param login user's login + * @return a list of UserOrganisationRoles + */ public List getUserOrganisationRoles(Integer orgId, String login); + /** + * @param login + * @param typeId + * @param stateId + * @return a list of UserOrganisations + */ public List getUserOrganisationsForUserByTypeAndStatus(String login, Integer typeId, Integer stateId); + /** + * @param login + * @return the User + */ public User getUserByLogin(String login); + /** + * @param login user's login + * @param password new password + * @return void + */ public void updatePassword(String login, String password); - public Organisation getOrganisationById(Integer orgId); - - public List getOrganisationsByType(Integer typeId); - + /** + * @param userId + * @param orgId + * @return UserOrganisation + */ public UserOrganisation getUserOrganisation(Integer userId, Integer orgId); } Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== diff -u -r6633f5d5c7844c27582a9b323fead87fac99dfd5 -r41d952fd0b939d2d4248dbcd9bc20bcdd52a04b5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 41d952fd0b939d2d4248dbcd9bc20bcdd52a04b5) @@ -34,11 +34,7 @@ import java.util.Vector; import org.apache.log4j.Logger; -import org.lamsfoundation.lams.cache.ICacheManager; import org.lamsfoundation.lams.dao.IBaseDAO; -import org.lamsfoundation.lams.learningdesign.dao.ILearningDesignDAO; -import org.lamsfoundation.lams.lesson.dao.ILessonDAO; -import org.lamsfoundation.lams.usermanagement.AuthenticationMethod; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; @@ -70,38 +66,66 @@ private IBaseDAO baseDAO; - protected ILearningDesignDAO learningDesignDAO; - - protected ILessonDAO lessonDAO; - - protected ICacheManager cacheManager; - - public void setBaseDAO(IBaseDAO baseDAO){ this.baseDAO = baseDAO; } - /** - * @param learningDesignDAO - * The learningDesignDAO to set. - */ - public void setLearningDesignDAO(ILearningDesignDAO learningDesignDAO) { - this.learningDesignDAO = learningDesignDAO; + public void save(Object object) { + baseDAO.insertOrUpdate(object); } + public void saveAll(Collection objects) { + baseDAO.insertOrUpdateAll(objects); + } - /** - * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setLessonDAO(org.lamsfoundation.lams.lesson.dao.ILessonDAO) - */ - public void setLessonDAO(ILessonDAO lessonDAO) { - this.lessonDAO = lessonDAO; + public void delete(Object object) { + baseDAO.delete(object); } - public void setCacheManager(ICacheManager cacheManager) { - this.cacheManager = cacheManager; - } + public void deleteAll(Class clazz) { + baseDAO.deleteAll(clazz); + } + public void deleteAll(Collection objects) { + baseDAO.deleteAll(objects); + } + public void deleteById(Class clazz, Serializable id) { + baseDAO.deleteById(clazz,id); + } + + public void deleteByProperty(Class clazz, String name, Object value) { + baseDAO.deleteByProperty(clazz,name,value); + } + + public void deleteByProperties(Class clazz, Map properties) { + baseDAO.deleteByProperties(clazz,properties); + } + + public void deleteAnythingLike(Object object) { + baseDAO.deleteAnythingLike(object); + } + + public Object findById(Class clazz, Serializable id) { + return baseDAO.find(clazz,id); + } + + public List findAll(Class clazz) { + return baseDAO.findAll(clazz); + } + + public List findByProperty(Class clazz, String name, Object value) { + return baseDAO.findByProperty(clazz,name,value); + } + + public List findByProperties(Class clazz, Map properties) { + return baseDAO.findByProperties(clazz,properties); + } + + public List findAnythingLike(Object object) { + return baseDAO.findAnythingLike(object); + } + /** * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getOrganisationRolesForUser(org.lamsfoundation.lams.usermanagement.User, java.util.List) */ @@ -290,82 +314,11 @@ return users; } - /** Get all the lessons in an organisation that this user can monitor. - * This is a temporary method to support the dummy index page. - * TODO modify/remove when the index page is implemented properly - */ - public List getMonitorLessonsFromOrganisation(Integer userID, Integer organisationID) { - return lessonDAO.getLessonsForMonitoring(userID, organisationID); - } - /** Get all the lessons in an organisation for which this user is a learner. - * This is a temporary method to support the dummy index page. - * TODO modify/remove when the index page is implemented properly - */ - public List getLearnerLessonsFromOrganisation(Integer userID, Integer organisationID) { - return lessonDAO.getActiveLessonsForLearner(userID, organisationID); - } - public Organisation getRootOrganisation() { return (Organisation)baseDAO.findByProperty(Organisation.class,"organisationType.organisationTypeId",OrganisationType.ROOT_TYPE).get(0); } - public void save(Object object) { - baseDAO.insertOrUpdate(object); - } - - public void saveAll(Collection objects) { - baseDAO.insertOrUpdateAll(objects); - } - - public void delete(Object object) { - baseDAO.delete(object); - } - - public void deleteAll(Class clazz) { - baseDAO.deleteAll(clazz); - } - - public void deleteAll(Collection objects) { - baseDAO.deleteAll(objects); - } - - public void deleteById(Class clazz, Serializable id) { - baseDAO.deleteById(clazz,id); - } - - public void deleteByProperty(Class clazz, String name, Object value) { - baseDAO.deleteByProperty(clazz,name,value); - } - - public void deleteByProperties(Class clazz, Map properties) { - baseDAO.deleteByProperties(clazz,properties); - } - - public void deleteAnythingLike(Object object) { - baseDAO.deleteAnythingLike(object); - } - - public Object findById(Class clazz, Serializable id) { - return baseDAO.find(clazz,id); - } - - public List findAll(Class clazz) { - return baseDAO.findAll(clazz); - } - - public List findByProperty(Class clazz, String name, Object value) { - return baseDAO.findByProperty(clazz,name,value); - } - - public List findByProperties(Class clazz, Map properties) { - return baseDAO.findByProperties(clazz,properties); - } - - public List findAnythingLike(Object object) { - return baseDAO.findAnythingLike(object); - } - public boolean isUserInRole(Integer userId, Integer orgId, String roleName) { Map properties = new HashMap(); properties.put("userOrganisation.user.userId",userId); @@ -408,14 +361,6 @@ baseDAO.update(user); } - public Organisation getOrganisationById(Integer orgId) { - return (Organisation)baseDAO.find(Organisation.class,orgId); - } - - public List getOrganisationsByType(Integer typeId) { - return baseDAO.findByProperty(Organisation.class,"organisationType.organisationTypeId",typeId); - } - public UserOrganisation getUserOrganisation(Integer userId, Integer orgId) { Map properties = new HashMap(); properties.put("user.userId",userId); Index: lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java =================================================================== diff -u -r6b2751bb0a75d2d7d73b3297262dffd574d6b313 -r41d952fd0b939d2d4248dbcd9bc20bcdd52a04b5 --- lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision 6b2751bb0a75d2d7d73b3297262dffd574d6b313) +++ lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision 41d952fd0b939d2d4248dbcd9bc20bcdd52a04b5) @@ -281,10 +281,10 @@ */ private void initializeTestingData() { - testUser = usermanageService.getUserById(TEST_USER_ID); - testStaff = usermanageService.getUserById(TEST_STAFF_ID); - testLearner = usermanageService.getUserById(TEST_LEARNER_ID); - testOrganisation = usermanageService.getOrganisationById(TEST_ORGANIZATION_ID); + testUser = (User)usermanageService.findById(User.class,TEST_USER_ID); + testStaff = (User)usermanageService.findById(User.class,TEST_STAFF_ID); + testLearner = (User)usermanageService.findById(User.class,TEST_LEARNER_ID); + testOrganisation = (Organisation)usermanageService.findById(Organisation.class,TEST_ORGANIZATION_ID); } public void testCheckGateStatus() throws IOException