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