Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/User.hbm.xml
===================================================================
diff -u -r1454b2fd27486dd14b1ccf172b96df61a0b0d355 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/User.hbm.xml (.../User.hbm.xml) (revision 1454b2fd27486dd14b1ccf172b96df61a0b0d355)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/User.hbm.xml (.../User.hbm.xml) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -309,11 +309,13 @@
@hibernate.many-to-one
lazy="false"
+ cascade="all"
@hibernate.column name="workspace_id"
@@ -348,11 +350,13 @@
@hibernate.many-to-one
not-null="true"
+ lazy="false"
@hibernate.column name="authentication_method_id"
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Workspace.hbm.xml
===================================================================
diff -u -r03392c988a23f5e9129967f8ae692488213632fe -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Workspace.hbm.xml (.../Workspace.hbm.xml) (revision 03392c988a23f5e9129967f8ae692488213632fe)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Workspace.hbm.xml (.../Workspace.hbm.xml) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -102,12 +102,14 @@
name="rootFolder"
class="org.lamsfoundation.lams.usermanagement.WorkspaceFolder"
not-null="true"
+ cascade="all"
lazy="false"
>
@hibernate.many-to-one
not-null="true"
lazy="false"
+ cascade="all"
@hibernate.column name="root_folder_id"
Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml
===================================================================
diff -u -r18af3a3fda30800f47d04bbf0abdb9897c1ea613 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 18af3a3fda30800f47d04bbf0abdb9897c1ea613)
+++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -81,18 +81,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -155,7 +144,7 @@
-
+
@@ -221,58 +210,9 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: lams_common/src/java/org/lamsfoundation/lams/dao/IBaseDAO.java
===================================================================
diff -u -re0a723be2811cf9cdceebbd7933c531e2e60ce58 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/src/java/org/lamsfoundation/lams/dao/IBaseDAO.java (.../IBaseDAO.java) (revision e0a723be2811cf9cdceebbd7933c531e2e60ce58)
+++ lams_common/src/java/org/lamsfoundation/lams/dao/IBaseDAO.java (.../IBaseDAO.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -24,10 +24,20 @@
package org.lamsfoundation.lams.dao;
import java.io.Serializable;
+import java.util.Collection;
import java.util.List;
+import java.util.Map;
/**
- * @author Manpreet Minhas
+ * @version
+ *
+ *
+ * View Source
+ *
+ *
+ * @author Fei Yang
+ *
+ * Created at 22:50:25 on 16/06/2006
*/
public interface IBaseDAO {
@@ -49,22 +59,245 @@
* @param object The object to be inserted/updated
*/
public void insertOrUpdate(Object object);
+
/**
+ * @param objects
+ * @return void
+ */
+ public void insertOrUpdateAll(Collection objects);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryString
+ * @return void
+ */
+ public void update(String queryString);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryString
+ * @param value
+ * @return void
+ */
+ public void update(String queryString, Object value);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryString
+ * @param values
+ * @return void
+ */
+ public void update(String queryString, Object[] values);
+
+ /**
+ * @param clazz
+ * @param propertyToChange
+ * @param newValue
+ * @param conditionProperty
+ * @param conditionValue
+ * @return void
+ */
+ public void update(Class clazz, String propertyToChange, Object newValue, String conditionProperty, Object conditionValue);
+
+ /**
+ * @param clazz
+ * @param propertyToChange
+ * @param newValue
+ * @param conditions in a map
+ * @return void
+ */
+ public void update(Class clazz, String propertyToChange, Object newValue, Map conditions);
+
+ /**
+ * @param clazz
+ * @param newValues in a map
+ * @param conditionProperty
+ * @param conditionValue
+ * @return void
+ */
+ public void update(Class clazz, Map newValues, String conditionProperty, Object conditionValue);
+
+ /**
+ * @param clazz
+ * @param newValues in a map
+ * @param conditions in a map
+ * @return void
+ */
+ public void update(Class clazz, Map newValues, Map conditions);
+
+ /**
+ * These 2 objects have to be instances of the Class
+ * @param clazz
+ * @param newValues in a object
+ * @param conditions in a object
+ * @return void
+ */
+ public void updateAnythingLike(Class clazz, Object newValues, Object conditions);
+
+ /**
* Remove an object from the database.
* @param object The object to be deleted
*/
public void delete(Object object);
+
/**
+ * Be careful to use this method. It will clean up the whole table for the Class
+ * @param clazz
+ * @return void
+ */
+ public void deleteAll(Class clazz);
+
+ /**
+ * @param objects to delete
+ * @return void
+ */
+ public void deleteAll(Collection objects);
+
+ /**
+ * @param clazz java Class
+ * @param id identifier
+ * @return void
+ */
+ public void deleteById(Class clazz, Serializable id);
+
+ /**
+ * @param clazz
+ * @param name
+ * @param value
+ * @return void
+ */
+ public void deleteByProperty(Class clazz, String name, Object value);
+
+ /**
+ * @param properties a map of property names and values
+ * @return void
+ */
+ public void deleteByProperties(Class clazz, Map properties);
+
+ /**
+ * Delete any object which has the same non-null property values as the object
+ * @param object
+ * @return void
+ */
+ public void deleteAnythingLike(Object object);
+
+ /**
* Find an object. If the object is not found
* then it will return null
- * @param objClass
+ * @param clazz
* @param id
*/
- public Object find(Class objClass, Serializable id);
+ public Object find(Class clazz, Serializable id);
/**
- * @param objClass
+ * @param clazz
+ * @return all of rows in the table for the Class as objects
*/
- public List findAll(Class objClass);
+ public List findAll(Class clazz);
+
+ /**
+ * @param clazz
+ * @param name
+ * @param value
+ * @return a list of objects which have the same propery value
+ */
+ public List findByProperty(Class clazz, String name, Object value);
+
+ /**
+ * @param properties a map of property names and values
+ * @return a list of objects which have the same property values
+ */
+ public List findByProperties(Class clazz, Map properties);
+
+ /**
+ * Find any object which has the same non-null property values as the object
+ * @param object
+ * @return a list of objects which has the same non-null property values as the object
+ */
+ public List findAnythingLike(Object object);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryString
+ * @return void
+ */
+ public List find(String queryString);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryString
+ * @param value
+ * @return void
+ */
+ public List find(String queryString, Object value);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryString
+ * @param values
+ * @return void
+ */
+ public List find(String queryString, Object[] values);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryName
+ * @return void
+ */
+ public List findByNamedQuery(String queryName);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryName
+ * @param value
+ * @return void
+ */
+ public List findByNamedQuery(String queryName, Object value);
+
+ /**
+ * Just a wrapper of the method in HibernateTemplate
+ * shouldn't be used unless a complicated query needed
+ * @param queryName
+ * @param values
+ * @return void
+ */
+ public List findByNamedQuery(String queryName, Object[] values);
+
+
+ /**
+ * @param clazz
+ * @param name of the property
+ * @param pattern to match
+ * @return a list of objects
+ */
+ public List searchByStringProperty(Class clazz, String name, String pattern);
+
+ /**
+ * @param clazz
+ * @param name of the property
+ * @param pattern to match
+ * @return a list of objects
+ */
+ public List searchByStringProperties(Class clazz, Map properties);
+
+ /**
+ * @param clazz
+ * @param name of the property
+ * @param min
+ * @param minIncluded
+ * @param max
+ * @param maxIncluded
+ * @return a list of objects
+ */
+ public List searchByNumberSpan(Class clazz, String name, Integer min, Boolean minIncluded, Integer max, Boolean maxIncluded);
+
}
Index: lams_common/src/java/org/lamsfoundation/lams/dao/hibernate/BaseDAO.java
===================================================================
diff -u -re0a723be2811cf9cdceebbd7933c531e2e60ce58 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/src/java/org/lamsfoundation/lams/dao/hibernate/BaseDAO.java (.../BaseDAO.java) (revision e0a723be2811cf9cdceebbd7933c531e2e60ce58)
+++ lams_common/src/java/org/lamsfoundation/lams/dao/hibernate/BaseDAO.java (.../BaseDAO.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -20,66 +20,321 @@
* http://www.gnu.org/licenses/gpl.txt
* ****************************************************************
*/
-/* $Id$ */
package org.lamsfoundation.lams.dao.hibernate;
import java.io.Serializable;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
+import java.util.Map;
+import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.dao.IBaseDAO;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
-import org.lamsfoundation.lams.dao.IBaseDAO;
-
/**
- * @author Manpreet Minhas
+ * @version
+ *
+ * Wrapper of HibernteTemplate() with some more OO methods
+ *
+ *
+ * View Source
+ *
+ *
+ * @author Fei Yang
+ *
+ * Created at 23:13:41 on 16/06/2006
*/
public class BaseDAO extends HibernateDaoSupport implements IBaseDAO {
+
+ private static class Qv {
+
+ String queryString;
+ Object[] values;
+
+ Qv(String queryString, Object[] values) {
+ super();
+
+ this.queryString = queryString;
+ this.values = values;
+ }
+ }
- /**
- * @see org.lamsfoundation.lams.learningdesign.dao.interfaces.IBaseDAO#insert(java.lang.Object)
+ private static final String SELECT = "from ";
+ private static final String UPDATE = "update ";
+ private static final String DELETE = "delete ";
+ private static final String WHERE = " where ";
+ private static final String AND = " and ";
+ private static final String SPACE = " ";
+ private static final String SPOT = ".";
+ private static final String EQUAL_TO_WHAT = "=?";
+
+ private static Logger log = Logger.getLogger(BaseDAO.class);
+
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#insert(java.lang.Object)
*/
public void insert(Object object) {
- this.getHibernateTemplate().save(object);
+ getHibernateTemplate().save(object);
}
- /**
- * @see org.lamsfoundation.lams.learningdesign.dao.interfaces.IBaseDAO#update(java.lang.Object)
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#update(java.lang.Object)
*/
public void update(Object object) {
- this.getHibernateTemplate().update(object);
+ getHibernateTemplate().update(object);
}
- /**
- * @see org.lamsfoundation.lams.learningdesign.dao.interfaces.IBaseDAO#insertOrUpdate(java.lang.Object)
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#insertOrUpdate(java.lang.Object)
*/
public void insertOrUpdate(Object object) {
- this.getHibernateTemplate().saveOrUpdate(object);
+ getHibernateTemplate().saveOrUpdate(object);
}
- /**
- * @see org.lamsfoundation.lams.learningdesign.dao.interfaces.IBaseDAO#delete(java.lang.Object)
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#insertOrUpdateAll(java.util.Collection)
*/
+ public void insertOrUpdateAll(Collection objects) {
+ getHibernateTemplate().saveOrUpdateAll(objects);
+ }
+
+ public void update(String queryString) {
+ getHibernateTemplate().bulkUpdate(queryString);
+ }
+
+ public void update(String queryString, Object value) {
+ getHibernateTemplate().bulkUpdate(queryString, value);
+ }
+
+ public void update(String queryString, Object[] values) {
+ getHibernateTemplate().bulkUpdate(queryString, values);
+ }
+
+ public void update(Class clazz, String propertyToChange, Object newValue, String conditionProperty, Object conditionValue) {
+ //TODO implement me
+ }
+
+ public void update(Class clazz, String propertyToChange, Object newValue, Map conditions) {
+ //TODO implement me
+ }
+
+ public void update(Class clazz, Map newValues, String conditionProperty, Object conditionValue) {
+ //TODO implement me
+ }
+
+ public void update(Class clazz, Map newValues, Map conditions) {
+ //TODO implement me
+ }
+
+ public void updateAnythingLike(Class clazz, Object newValues, Object conditions) {
+ //TODO implement me
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#delete(java.lang.Object)
+ */
public void delete(Object object) {
- this.getHibernateTemplate().delete(object);
+ getHibernateTemplate().delete(object);
}
- /**
- * Find an object. If the object is not found,
- * then it will return null
- * @param objClass
- * @param id
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#deleteAll(java.lang.Class)
*/
- public Object find(Class objClass, Serializable id) {
- return this.getHibernateTemplate().get(objClass,id);
-
+ public void deleteAll(Class clazz) {
+ String queryString = buildQueryString(clazz,DELETE);
+ getHibernateTemplate().bulkUpdate(queryString);
}
- /**
- * @see org.lamsfoundation.lams.learningdesign.dao.interfaces.IBaseDAO#findAll(java.lang.Class)
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#deleteAll(java.util.Collection)
*/
- public List findAll(Class objClass) {
- String query="from obj in class " + objClass.getName();
- return this.getHibernateTemplate().find(query);
+ public void deleteAll(Collection objects) {
+ getHibernateTemplate().deleteAll(objects);
}
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#deleteById(java.lang.Class, java.io.Serializable)
+ */
+ public void deleteById(Class clazz, Serializable id) {
+ delete(find(clazz,id));
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#deleteByProperty(java.lang.Class, java.lang.String, java.lang.Object)
+ */
+ public void deleteByProperty(Class clazz, String name, Object value) {
+ String queryString = buildQueryString(clazz,name,DELETE);
+ getHibernateTemplate().bulkUpdate(queryString,value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#deleteByProperties(java.lang.Class, java.util.Map)
+ */
+ public void deleteByProperties(Class clazz, Map properties) {
+ Qv qv = buildQueryString(clazz,properties,DELETE);
+ getHibernateTemplate().bulkUpdate(qv.queryString,qv.values);
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#deleteAnythingLike(java.lang.Object)
+ */
+ public void deleteAnythingLike(Object object) {
+ try{
+ Qv qv = buildQueryString(object,DELETE);
+ getHibernateTemplate().bulkUpdate(qv.queryString,qv.values);
+ }catch(Exception e){
+ log.debug(e);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#find(java.lang.Class, java.io.Serializable)
+ */
+ public Object find(Class clazz, Serializable id) {
+ return getHibernateTemplate().get(clazz,id);
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#findAll(java.lang.Class)
+ */
+ public List findAll(Class clazz) {
+ return getHibernateTemplate().loadAll(clazz);
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#findByProperty(java.lang.Class, java.lang.String, java.lang.Object)
+ */
+ public List findByProperty(Class clazz, String name, Object value) {
+ String queryString = buildQueryString(clazz,name,SELECT);
+ return getHibernateTemplate().find(queryString,value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#findByProperties(java.lang.Class, java.util.Map)
+ */
+ public List findByProperties(Class clazz, Map properties) {
+ Qv qv = buildQueryString(clazz,properties,SELECT);
+ return getHibernateTemplate().find(qv.queryString,qv.values);
+ }
+
+ /* (non-Javadoc)
+ * @see org.lamsfoundation.lams.dao.IBaseDAO#findAnythingLike(java.lang.Object)
+ */
+ public List findAnythingLike(Object object) {
+ return getHibernateTemplate().findByExample(object);
+ }
+
+ private String buildQueryString(Class clazz,String operation){
+ StringBuffer queryString = new StringBuffer(operation).append(clazz.getSimpleName());
+ log.debug(queryString);
+ return queryString.toString();
+ }
+
+ private String buildQueryString(Class clazz,String name, String operation){
+ String clazzName = clazz.getSimpleName();
+ String objName = createObjectName(clazzName);
+ StringBuffer queryString = new StringBuffer(operation).append(clazzName).append(SPACE)
+ .append(objName).append(WHERE).append(objName).append(SPOT)
+ .append(name).append(EQUAL_TO_WHAT);
+ log.debug(queryString);
+ return queryString.toString();
+ }
+
+ public List find(String queryString) {
+ return getHibernateTemplate().find(queryString);
+ }
+
+ public List find(String queryString, Object value) {
+ return getHibernateTemplate().find(queryString,value);
+ }
+
+ public List find(String queryString, Object[] values) {
+ return getHibernateTemplate().find(queryString, values);
+ }
+
+ public List findByNamedQuery(String queryName) {
+ return getHibernateTemplate().findByNamedQuery(queryName);
+ }
+
+ public List findByNamedQuery(String queryName, Object value) {
+ return getHibernateTemplate().findByNamedQuery(queryName, value);
+ }
+
+ public List findByNamedQuery(String queryName, Object[] values) {
+ return getHibernateTemplate().findByNamedQuery(queryName, values);
+ }
+
+ public List searchByStringProperty(Class clazz, String name, String pattern) {
+ //TODO implement me
+ return null;
+ }
+
+ public List searchByStringProperties(Class clazz, Map properties) {
+ //TODO implement me
+ return null;
+ }
+
+ public List searchByNumberSpan(Class clazz, String name, Integer min, Boolean minIncluded, Integer max, Boolean maxIncluded) {
+ //TODO implement me
+ return null;
+ }
+
+ private Qv buildQueryString(Class clazz, Map properties, String operation){
+ String clazzName = clazz.getSimpleName();
+ String objName = createObjectName(clazzName);
+ StringBuffer queryString = new StringBuffer(operation).append(clazzName).append(SPACE).append(objName).append(WHERE);
+ Object[] values = new Object[properties.size()];
+ int i=0;
+ for(Map.Entry entry : properties.entrySet()){
+ queryString.append(objName).append(SPOT).append(entry.getKey()).append(EQUAL_TO_WHAT);
+ if(i!=properties.size()-1){
+ queryString.append(AND);
+ }
+ values[i] = entry.getValue();
+ i++;
+ }
+ log.debug(queryString);
+ return new Qv(queryString.toString(),values);
+ }
+
+ private Qv buildQueryString(Object obj, String operation) throws Exception{
+ String clazzName = obj.getClass().getSimpleName();
+ String objName = createObjectName(clazzName);
+ StringBuffer queryString = new StringBuffer(operation).append(clazzName).append(SPACE).append(objName).append(WHERE);
+ Field[] fields = obj.getClass().getDeclaredFields();
+ List values = new ArrayList();
+ for(int i=0; i
- * View Source
- *
- *
- * @author Fei Yang
- */
-/**
* @version
*
*
@@ -72,157 +50,8 @@
*/
public interface IUserManagementService {
- /**
- * Set IUserDAO
- *
- * @param userDao
- */
- public void setUserDAO(IUserDAO userDao);
/**
- * Set IRoleDAO
- *
- * @param roleDao
- */
- public void setRoleDAO(IRoleDAO roleDao);
-
- /**
- * Set ILocaleDAO
- *
- * @param localeDao
- */
- public void setLocaleDAO(ILocaleDAO localeDao);
-
- /**
- * Set IRolePrivilegeDAO
- *
- * @param rolePrivilegeDao
- */
- public void setRolePrivilegeDAO(IRolePrivilegeDAO rolePrivilegeDao);
-
-
- /**
- * Set IOrganisationDAO
- *
- * @param organisationDao
- */
- public void setOrganisationDAO(IOrganisationDAO organisationDao);
-
- /**
- * Set IOrganisationTypeDAO
- *
- * @param organisationTypeDao
- */
- public void setOrganisationTypeDAO(IOrganisationTypeDAO organisationTypeDao);
-
- /**
- * Set IOrganisationStateDAO
- *
- * @param organisationStateDao
- */
- public void setOrganisationStateDAO(IOrganisationStateDAO organisationStateDao);
-
-
- /**
- * Set IUserOrganisationDAO
- *
- * @param organisationDao
- */
- public void setUserOrganisationDAO(IUserOrganisationDAO userOrganisationDao);
-
- /**
- * Set IUserOrganisationRoleDAO
- *
- * @param organisationRoleDao
- */
- public void setUserOrganisationRoleDAO(IUserOrganisationRoleDAO userOrganisationRoleDao);
-
- /**
- * Set IAuthenticationMethodDAO
- *
- * @param authenticationMethodDao
- */
- public void setAuthenticationMethodDAO(IAuthenticationMethodDAO authenticationMethodDao);
-
- /**
- * Retrieves a user by userId. Null will be returned
- * if no user with the userId is found. This method is more
- * efficient than getUserByLogin() as the value is cached.
- *
- * @param userId the user's userId
- * @return User
- */
- public User getUserById(Integer userId);
-
-
- /**
- * Retrieves a user by login. Null will be returned
- * if no user with the login is found. This method is not as
- * efficient than getUserById() as it is not cached.
- *
- * @param login the user's login
- * @return User
- */
- public User getUserByLogin(String login);
-
- /**
- * Retrieves a organisation by id. null will be returned
- * if no organisation with the id is found
- *
- * @param organisationId the organisation's id
- * @return Organisation
- */
- public Organisation getOrganisationById(Integer organisationId);
-
- /**
- * Retrieves a organisationType by Id. null will be returned
- * if no organisationType with the id is found
- *
- * @param typeId the organisation type's Id
- * @return OrganisationType
- */
- public OrganisationType getOrganisationTypeById(Integer typeId);
-
- /**
- * Retrieves a organisationType by name. null will be returned
- * if no organisationType with the id is found
- *
- * @param name the organisation type's name
- * @return OrganisationType
- */
- public OrganisationType getOrganisationTypeByName(String name);
-
- /**
- * Retrieves a role by name. null will be returned
- * if no role with the name is found
- *
- * @param roleName role's name
- * @return Role
- */
- public Role getRoleByName(String roleName);
-
- /**
- * Retrieves a userOrganisationRole by ids and name. null will be returned
- * if no userOrganisationRole is found
- *
- * @param userId the id of the user
- * @param organisationId the organisation's id
- * @param roleName the role's name
- * @return UserOrganisationRole
- */
- public UserOrganisationRole getUserOrganisationRole(Integer userId,Integer organisationId,String roleName);
-
- /**
- * Retrieves a userOrganisation by login and id. null will be returned
- * if no userOrganisation is found
- *
- * @param userId the user's Id
- * @param organisationId the organisation's id
- * @return UserOrganisation
- */
- public UserOrganisation getUserOrganisation(Integer userId,Integer organisationId);
-
- /**
* 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.
*
@@ -261,23 +90,6 @@
public OrganisationDTO getOrganisationForUserWithRole(User user, Integer organisationId);
/**
- * Retrieves child organisations of the parentOrg
- *
- * @param parentOrg the parent organisation
- * @return List of organisations
- */
- public List getChildOrganisations(Organisation parentOrg);
-
- /**
- * Retrieves userOrganisations for the user
- *
- * @param user the user
- * @return List of organisations
- */
- public List getUserOrganisationsForUser(User user);
-
-
- /**
* Retrieves roles in which the user
* has the specified role
*
@@ -295,155 +107,7 @@
*/
public List getUsersFromOrganisation(Integer orgId);
- /**
- * Retrieves All the AuthenticationMethods
- *
- * @return List of AuthenticationMethods
- */
- public List getAllAuthenticationMethods();
-
- /**
- * Retrieves AuthenticationMethod for the user
- * specified by login.
- *
- * @param login the user's login
- * @return AuthenticationMethod for this user
- */
- public AuthenticationMethod getAuthenticationMethodForUser(String login);
-
- /**
- * Retrieves AuthenticationMethod for the user
- * specified by login. This implementation is more efficient
- * than getAuthenticationMethodForUser(String login).
- *
- * @param User user
- * @return AuthenticationMethod for this user
- */
- public AuthenticationMethod getAuthenticationMethodForUser(User user);
-
- /**
- * Retrieves AuthenticationMethod
- * specified by name
- *
- * @param name the method's name
- * @return AuthenticationMethod with the name
- */
- public AuthenticationMethod getAuthenticationMethodByName(String name);
-
-
- /**
- * Retrieves a list of all the OrganisationState objects
- *
- * @return OrganisationState object list
- */
- public List getAllOrgnisationStates();
-
- /**
- * Retrieve the OrganisationState by the Id
- *
- * @param oranisationStateId the Id of the organisationState
- * @return the OrganisationState object specified by the organisationStateId
- */
- public OrganisationState getOrganisationStateById(Integer organisationStateId);
-
- /**
- *
- * @param user the user to be created
- */
- public void createUser(User user);
-
- /**
- * Updates a user's information
- *
- * @param user the user
- */
- public void updateUser(User user);
-
- /**
- * Save or Updates a user's information
- *
- * @param user the user
- */
- public void saveOrUpdateUser(User user);
-
- /**
- * Updates user's password
- * @param login the user's login
- * @param newPassword the user's new password
- */
- public void updatePassword(String login, String newPassword);
-
- /**
- * Removes a user from the organisation
- *
- * @param userOrganisation the user's memebership in the organisation
- */
- public void removeUserOrganisation(UserOrganisation userOrganisation);
-
- /**
- * Saves or updates an organisation
- *
- * @param organisation the organisation to be saved or updated
- */
- public void saveOrUpdateOrganisation(Organisation organisation);
-
- /**
- * Saves or updates an userOrganisation
- *
- * @param userOrganisation the userOrganisation to be saved or updated
- */
- public void saveOrUpdateUserOrganisation(UserOrganisation userOrganisation);
-
- /**
- * Saves or updates an userOrganisationRole
- *
- * @param userOrganisationRole the userOrganisationRole to be saved or updated
- */
- public void saveOrUpdateUserOrganisationRole(UserOrganisationRole userOrganisationRole);
-
- /**
- * Saves an Organisation while creating its corresponding Workspace
- * and WorkspaceFolder
- *
- * @param organisation The Organisation to be saved
- * @param userID The user_id of the user who creates this organisation
- * @return Integer The organisation_id of the new Organisation
- */
- public Integer saveOrganisation(Organisation organisation,Integer userID);
-
- /***********************************
- * Methods added by Manpreet Minhas
- * ********************************/
-
/**
- * This method saves a new User to the underlying database while
- * creating his default workspace and workspaceFolder
- *
- * @param user The User object to be persisted
- * @param roleID What kind of user he is (AUTHOR/LEARNER/STAFF/ADMIN)
- * @return Integer The user_id of the User
- */
- public Integer saveUser(User user, Integer roleID);
-
- /**
- * This method creates a new Workspace with a given name
- *
- * @param name The name with which workspace should be created
- * @return Workspace The new Workspace object
- */
- public Workspace createWorkspace(String name);
-
- /**
- * This method creates a WorkspaceFolder for a given workspace and user.
- *
- * @param workspace The Workspace in which this WorkspaceFolder will be contained
- * @param userID The user_id of the user who creates the above organisation
- * @param workspaceFolderType The type of folder to be created.
- * @return WorkspaceFolder The new WorkspaceFolder object
- */
- public WorkspaceFolder createWorkspaceFolder(Workspace workspace,Integer userID, Integer workspaceFolderType);
-
- /**
* This method returns the users in the Organisation with
* given organisationID
and roleName
*
@@ -464,30 +128,123 @@
*/
public List getLearnerLessonsFromOrganisation(Integer userID, Integer organisationID);
- public List getAllCountries();
+ /**
+ * save(insert or update)
+ * @param object The object to be inserted
+ */
+ public void save(Object object);
+
+ /**
+ * @param objects
+ * @return void
+ */
+ public void saveAll(Collection objects);
+
+ /**
+ * Remove an object from the database.
+ * @param object The object to be deleted
+ */
+ public void delete(Object object);
- public List getAllLanguages();
- public List getRolePrivilegesByRoleId(Integer id);
+ /**
+ * Be careful to use this method. It will clean up the whole table for the Class
+ * @param clazz
+ * @return void
+ */
+ public void deleteAll(Class clazz);
- public List getUserOrganisationsByType(Integer organisationTypeId);
+ /**
+ * @param objects to delete
+ * @return void
+ */
+ public void deleteAll(Collection objects);
- public List getOrganisationsByType(Integer organisationTypeId);
+ /**
+ * @param clazz java Class
+ * @param id identifier
+ * @return void
+ */
+ public void deleteById(Class clazz, Serializable id);
- public boolean isUserSysAdmin(String login);
+ /**
+ * @param clazz
+ * @param name
+ * @param value
+ * @return void
+ */
+ public void deleteByProperty(Class clazz, String name, Object value);
- public Organisation getRootOrganisation();
+ /**
+ * @param properties a map of property names and values
+ * @return void
+ */
+ public void deleteByProperties(Class clazz, Map properties);
- public boolean isUserInRoleInOrganisation(String login, Integer roleId, Integer orgId);
+ /**
+ * Delete any object which has the same non-null property values as the object
+ * @param object
+ * @return void
+ */
+ public void deleteAnythingLike(Object object);
- public void deleteOrganisationById(Integer orgId);
+ /**
+ * Find an object. If the object is not found
+ * then it will return null
+ * @param clazz
+ * @param id
+ */
+ public Object findById(Class clazz, Serializable id);
- public void deleteUserById(Integer userId);
+ /**
+ * @param clazz
+ * @return all of rows in the table for the Class as objects
+ */
+ public List findAll(Class clazz);
- public List getOrganisationsByTypeAndStatus(Integer organisationTypeId, Integer organisationStateId);
+ /**
+ * @param clazz
+ * @param name
+ * @param value
+ * @return a list of objects which have the same propery value
+ */
+ public List findByProperty(Class clazz, String name, Object value);
- public List getUserOrganisationsForUserByTypeAndStatus(String username,Integer organisationTypeId, Integer organisationStateId);
+ /**
+ * @param properties a map of property names and values
+ * @return a list of objects which have the same property values
+ */
+ public List findByProperties(Class clazz, Map properties);
- public List getUserOrganisationRoles(Integer organisationId, String username);
-
+ /**
+ * Find any object which has the same non-null property values as the object
+ * @param object
+ * @return a list of objects which has the same non-null property values as the object
+ */
+ public List findAnythingLike(Object object);
+
+ /**
+ * @param userId
+ * @param orgId
+ * @param roleName
+ * @return true or false
+ */
+ public boolean isUserInRole(Integer userId,Integer orgId, String roleName);
+
+ public List getOrganisationsByTypeAndStatus(Integer typeId, Integer stateId);
+
+ public List getUserOrganisationRoles(Integer orgId, String login);
+
+ public List getUserOrganisationsForUserByTypeAndStatus(String login, Integer typeId, Integer stateId);
+
+ public User getUserByLogin(String login);
+
+ public void updatePassword(String login, String password);
+
+ public Organisation getOrganisationById(Integer orgId);
+
+ public List getOrganisationsByType(Integer typeId);
+
+ public UserOrganisation getUserOrganisation(Integer userId, Integer orgId);
+
}
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java
===================================================================
diff -u -r7d9d7a96ce3ac57723ddcd444253a1d753d520a6 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 7d9d7a96ce3ac57723ddcd444253a1d753d520a6)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -23,38 +23,30 @@
/* $Id$ */
package org.lamsfoundation.lams.usermanagement.service;
+import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
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.IRolePrivilegeDAO;
import org.lamsfoundation.lams.usermanagement.Organisation;
-import org.lamsfoundation.lams.usermanagement.OrganisationState;
import org.lamsfoundation.lams.usermanagement.OrganisationType;
import org.lamsfoundation.lams.usermanagement.Role;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
import org.lamsfoundation.lams.usermanagement.UserOrganisationRole;
import org.lamsfoundation.lams.usermanagement.Workspace;
import org.lamsfoundation.lams.usermanagement.WorkspaceFolder;
-import org.lamsfoundation.lams.usermanagement.dao.IAuthenticationMethodDAO;
-import org.lamsfoundation.lams.usermanagement.dao.ILocaleDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IOrganisationDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IOrganisationStateDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IOrganisationTypeDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IRoleDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IUserDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IUserOrganisationDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IUserOrganisationRoleDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IWorkspaceDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IWorkspaceFolderDAO;
import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTO;
import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTOFactory;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
@@ -74,107 +66,31 @@
*/
public class UserManagementService implements IUserManagementService {
- protected Logger log = Logger.getLogger(UserManagementService.class);
+ private Logger log = Logger.getLogger(UserManagementService.class);
- private IUserDAO userDAO;
+ private IBaseDAO baseDAO;
- private IRoleDAO roleDAO;
-
- private ILocaleDAO localeDAO;
-
- private IRolePrivilegeDAO rolePrivilegeDAO;
-
- private IOrganisationDAO organisationDAO;
-
- private IOrganisationTypeDAO organisationTypeDAO;
-
- private IOrganisationStateDAO organisationStateDAO;
-
- private IUserOrganisationDAO userOrganisationDAO;
-
- private IUserOrganisationRoleDAO userOrganisationRoleDAO;
-
- private IAuthenticationMethodDAO authenticationMethodDAO;
-
- protected IWorkspaceDAO workspaceDAO;
-
- protected IWorkspaceFolderDAO workspaceFolderDAO;
-
protected ILearningDesignDAO learningDesignDAO;
protected ILessonDAO lessonDAO;
protected ICacheManager cacheManager;
- private String[] userClassParts = null;
- /**
- * @param workspaceFolderDAO
- * The workspaceFolderDAO to set.
- */
- public void setWorkspaceFolderDAO(IWorkspaceFolderDAO workspaceFolderDAO) {
- this.workspaceFolderDAO = workspaceFolderDAO;
+ public void setBaseDAO(IBaseDAO baseDAO){
+ this.baseDAO = baseDAO;
}
-
+
/**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setUserDAO(org.lamsfoundation.lams.usermanagement.dao.IUserDAO)
+ * @param learningDesignDAO
+ * The learningDesignDAO to set.
*/
- public void setUserDAO(IUserDAO userDAO) {
- this.userDAO = userDAO;
+ public void setLearningDesignDAO(ILearningDesignDAO learningDesignDAO) {
+ this.learningDesignDAO = learningDesignDAO;
}
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setRoleDAO(org.lamsfoundation.lams.usermanagement.dao.IRoleDAO)
- */
- public void setRoleDAO(IRoleDAO roleDAO) {
- this.roleDAO = roleDAO;
- }
/**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setOrganisationDAO(org.lamsfoundation.lams.usermanagement.dao.IOrganisationDAO)
- */
- public void setOrganisationDAO(IOrganisationDAO organisationDAO) {
- this.organisationDAO = organisationDAO;
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setOrganisationTypeDAO(org.lamsfoundation.lams.usermanagement.dao.IOrganisationTypeDAO)
- */
- public void setOrganisationTypeDAO(IOrganisationTypeDAO organisationTypeDAO) {
- this.organisationTypeDAO = organisationTypeDAO;
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setOrganisationStateDAO(org.lamsfoundation.lams.usermanagement.dao.IOrganisationStateDAO)
- */
- public void setOrganisationStateDAO(IOrganisationStateDAO organisationStateDAO) {
- this.organisationStateDAO = organisationStateDAO;
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setUserOrganisationDAO(org.lamsfoundation.lams.usermanagement.dao.IUserOrganisationDAO)
- */
- public void setUserOrganisationDAO(IUserOrganisationDAO userOrganisationDAO) {
- this.userOrganisationDAO = userOrganisationDAO;
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setUserOrganisationRoleDAO(org.lamsfoundation.lams.usermanagement.dao.IUserOrganisationRoleDAO)
- */
- public void setUserOrganisationRoleDAO(
- IUserOrganisationRoleDAO userOrganisationRoleDAO) {
- this.userOrganisationRoleDAO = userOrganisationRoleDAO;
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setOrganisationDAO(org.lamsfoundation.lams.usermanagement.dao.IAuthenticationMethodDAO)
- */
- public void setAuthenticationMethodDAO(
- IAuthenticationMethodDAO authenticationMethodDAO) {
- this.authenticationMethodDAO = authenticationMethodDAO;
- }
-
- /**
* @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#setLessonDAO(org.lamsfoundation.lams.lesson.dao.ILessonDAO)
*/
public void setLessonDAO(ILessonDAO lessonDAO) {
@@ -185,142 +101,13 @@
this.cacheManager = cacheManager;
}
- /**
- * Tries to get the user from the cache and if that fails then reads it from the database and puts it in the cache.
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getUserById(java.lang.Integer)
- */
- public User getUserById(Integer userId) {
- if ( userClassParts == null ) {
- userClassParts = cacheManager.getPartsFromClass(User.class);
- }
- User user = (User) cacheManager.getItem(this.userClassParts, userId);
- if ( user == null ) {
- user = userDAO.getUserById(userId);
- if ( user != null ) {
- cacheManager.addItem(userClassParts,user.getUserId(),user);
- if ( log.isDebugEnabled() ){
- log.debug("getUserById retrieved user from database "+user.getUserId());
- }
- }
- } else if ( log.isDebugEnabled() ){
- log.debug("getUserById retrieved user from cache "+userId);
- }
- return user;
- }
-
/**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getUserByLogin(java.lang.String)
- */
- public User getUserByLogin(String login) {
- User user = userDAO.getUserByLogin(login);
- if ( user != null ) {
- if ( userClassParts == null ) {
- userClassParts = cacheManager.getPartsFromClass(User.class);
- }
- cacheManager.addItem(userClassParts,user.getUserId(),user);
- }
- return user;
- }
-
- /**
- * Clear the user from the cache - presumably the user has been updated.
- */
- private void clearUserFromCache(User user) {
- cacheManager.removeItem(this.userClassParts,user.getUserId());
- cacheManager.removeItem(this.userClassParts,user.getLogin());
-
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getOrganisationById(java.lang.Integer)
- */
- public Organisation getOrganisationById(Integer organisationId) {
- return organisationDAO.getOrganisationById(organisationId);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getOrganisationTypeByName(java.lang.String)
- */
- public OrganisationType getOrganisationTypeByName(String name) {
- return organisationTypeDAO.getOrganisationTypeByName(name);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getRoleByName(java.lang.String)
- */
- public Role getRoleByName(String roleName) {
- return roleDAO.getRoleByName(roleName);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getUserOrganisationRole(java.lang.String,java.lang.Integer,java.lang.String)
- */
- public UserOrganisationRole getUserOrganisationRole(Integer userID, Integer organisationId, String roleName) {
- User user = this.getUserById(userID);
- if (user == null)
- return null;
- UserOrganisation userOrganisation = userOrganisationDAO
- .getUserOrganisation(user.getUserId(), organisationId);
- if (userOrganisation == null)
- return null;
- Role role = roleDAO.getRoleByName(roleName);
- if (role == null)
- return null;
- return userOrganisationRoleDAO.getUserOrganisationRole(userOrganisation
- .getUserOrganisationId(), role.getRoleId());
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getUserOrganisationRole(java.lang.String,java.lang.Integer,java.lang.String)
- */
- public UserOrganisation getUserOrganisation(Integer userId,
- Integer organisationId) {
- return userOrganisationDAO.getUserOrganisation(userId, organisationId);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getAllAuthenticationMethods()
- */
- public List getAllAuthenticationMethods() {
- return authenticationMethodDAO.getAllAuthenticationMethods();
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getAuthenticationMethodForUser(java.lang.String)
- */
- public AuthenticationMethod getAuthenticationMethodForUser(String login) {
- return authenticationMethodDAO.getAuthenticationMethodByUser(this.getUserByLogin(login));
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getAuthenticationMethodForUser(org.lamsfoundation.lams.usermanagement.User)
- */
- public AuthenticationMethod getAuthenticationMethodForUser(User user) {
- return authenticationMethodDAO.getAuthenticationMethodByUser(user);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getAuthenticationMethodByName(java.lang.String)
- */
- public AuthenticationMethod getAuthenticationMethodByName(String name) {
- return authenticationMethodDAO.getAuthenticationMethodByName(name);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getUserOrganisationsForUser(org.lamsfoundation.lams.usermanagement.User)
- */
- public List getUserOrganisationsForUser(User user) {
- return userOrganisationDAO.getUserOrganisationsByUser(user);
- }
-
- /**
* @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getOrganisationRolesForUser(org.lamsfoundation.lams.usermanagement.User, java.util.List)
*/
public OrganisationDTO getOrganisationsForUserByRole(User user, List restrictToRoleNames) {
- // TODO optimise db access
List list = new ArrayList();
- Iterator i = userOrganisationDAO.getUserOrganisationsByUser(user).iterator();
+ Iterator i = user.getUserOrganisations().iterator();
while (i.hasNext()) {
UserOrganisation userOrganisation = (UserOrganisation) i.next();
@@ -337,9 +124,8 @@
* @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getOrganisationRolesForUser(org.lamsfoundation.lams.usermanagement.User, java.util.List, java.util.Integer)
*/
public OrganisationDTO getOrganisationsForUserByRole(User user, List restrictToRoleNames, Integer courseId, List restrictToClassIds) {
- // TODO optimise db access
List dtolist = new ArrayList();
- Organisation org = organisationDAO.getOrganisationById(courseId);
+ Organisation org = (Organisation)baseDAO.find(Organisation.class,courseId);
dtolist.add(org.getOrganisationDTO());
getChildOrganisations(user, org, restrictToRoleNames, restrictToClassIds, dtolist);
OrganisationDTO dtoTree = OrganisationDTOFactory.createTree(dtolist);
@@ -353,7 +139,10 @@
private void getChildOrganisations(User user, Organisation org, List restrictToRoleNames, List restrictToClassIds, List dtolist) {
if ( org != null ) {
boolean notCheckClassId = restrictToClassIds == null || restrictToClassIds.size() == 0;
- List childOrgs = userOrganisationDAO.getChildUserOrganisationsByUser(user, org);
+ Map map = new HashMap();
+ map.put("user.userId",user.getUserId());
+ map.put("organisation.parentOrganisation.organisationId",org.getOrganisationId());
+ List childOrgs = baseDAO.findByProperties(UserOrganisation.class, map);
for ( UserOrganisation userOrganisation : childOrgs) {
OrganisationDTO dto = userOrganisation.getOrganisation().getOrganisationDTO();
if ( notCheckClassId || restrictToClassIds.contains(dto.getOrganisationID()) ) {
@@ -401,7 +190,10 @@
*/
public OrganisationDTO getOrganisationForUserWithRole(User user, Integer organisationId) {
if ( user != null && organisationId !=null ) {
- UserOrganisation userOrganisation = getUserOrganisation(user.getUserId(), organisationId);
+ Map map = new HashMap();
+ map.put("user.userId",user.getUserId());
+ map.put("organisation.organisationId",organisationId);
+ UserOrganisation userOrganisation = (UserOrganisation)baseDAO.findByProperties(UserOrganisation.class,map).get(0);
OrganisationDTO dto = userOrganisation.getOrganisation().getOrganisationDTO();
addRolesToDTO(null, userOrganisation, dto);
return dto;
@@ -410,24 +202,18 @@
}
/**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getChildOrganisations(org.lamsfoundation.lams.usermanagement.Organisation)
- */
- public List getChildOrganisations(Organisation parentOrg) {
- return organisationDAO.getChildOrganisations(parentOrg);
- }
-
- /**
* @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getRolesForUserByOrganisation(org.lamsfoundation.lams.usermanagement.User,
* java.lang.Integer)
*/
public List getRolesForUserByOrganisation(User user, Integer orgId) {
List list = new ArrayList();
- UserOrganisation userOrg = userOrganisationDAO.getUserOrganisation(user
- .getUserId(), orgId);
+ Map map = new HashMap();
+ map.put("user.userId",user.getUserId());
+ map.put("organisation.organisationId",orgId);
+ UserOrganisation userOrg = (UserOrganisation)baseDAO.findByProperties(UserOrganisation.class,map).get(0);
if (userOrg == null)
return null;
- Iterator i = userOrganisationRoleDAO.getUserOrganisationRoles(
- userOrg.getUserOrganisationId()).iterator();
+ Iterator i = userOrg.getUserOrganisationRoles().iterator();
while (i.hasNext()) {
UserOrganisationRole userOrgRole = (UserOrganisationRole) i.next();
list.add(userOrgRole.getRole());
@@ -440,81 +226,14 @@
*/
public List getUsersFromOrganisation(Integer orgId) {
List list = new ArrayList();
- Iterator i = userOrganisationDAO.getUserOrganisationsByOrganisationId(
- orgId).iterator();
+ Iterator i = baseDAO.findByProperty(UserOrganisation.class,"organisation.organisationId",orgId).iterator();
while (i.hasNext()) {
UserOrganisation userOrganisation = (UserOrganisation) i.next();
list.add(userOrganisation.getUser());
}
return list;
}
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#createUser(org.lamsfoundation.lams.usermanagement.User)
- */
- public void createUser(User user) {
- userDAO.insert(user);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#updateUser(org.lamsfoundation.lams.usermanagement.User)
- */
- public void updateUser(User user) {
- userDAO.update(user);
- clearUserFromCache(user);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#saveOrupdate(org.lamsfoundation.lams.usermanagement.User)
- */
- public void saveOrUpdateUser(User user) {
- userDAO.insertOrUpdate(user);
- clearUserFromCache(user);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#updatePassword(java.lang.String,java.lang.String)
- */
- public void updatePassword(String login, String newPassword) {
- userDAO.updatePassword(login, newPassword);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#removeUserOrganisation(org.lamsfoundation.lams.usermanagement.UserOrganisation)
- */
- public void removeUserOrganisation(UserOrganisation userOrganisation) {
- userOrganisationDAO.delete(userOrganisation);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#saveOrUpdateOrganisation(org.lamsfoundation.lams.usermanagement.Organisation)
- */
- public void saveOrUpdateOrganisation(Organisation organisation) {
- organisationDAO.insertOrUpdate(organisation);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#saveOrUpdateOrganisation(org.lamsfoundation.lams.usermanagement.UserOrganisation)
- */
- public void saveOrUpdateUserOrganisation(UserOrganisation userOrganisation) {
- userOrganisationDAO.insertOrUpdate(userOrganisation);
- }
-
- /**
- * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#saveOrUpdateOrganisationRole(org.lamsfoundation.lams.usermanagement.UserOrganisationRole)
- */
- public void saveOrUpdateUserOrganisationRole(
- UserOrganisationRole userOrganisationRole) {
- userOrganisationRoleDAO.insertOrUpdate(userOrganisationRole);
- }
-
- /**
- * @param workspaceDAO
- * The workspaceDAO to set.
- */
- public void setUserManagementWorkspaceDAO(IWorkspaceDAO workspaceDAO) {
- this.workspaceDAO = workspaceDAO;
- }
/*********************************************
* Utility Methods added by Manpreet Minhas
@@ -525,122 +244,37 @@
* java.lang.Integer)
*/
public Integer saveOrganisation(Organisation organisation, Integer userID) {
- Workspace workspace = createWorkspace(organisation.getName());
- WorkspaceFolder workspaceFolder = createWorkspaceFolder(workspace,
- userID, WorkspaceFolder.NORMAL);
+ Workspace workspace = new Workspace(organisation.getName());
+ WorkspaceFolder workspaceFolder = new WorkspaceFolder(workspace.getName(),workspace.getWorkspaceId(),
+ userID, new Date(), new Date(), WorkspaceFolder.NORMAL);
workspace.setRootFolder(workspaceFolder);
- workspaceDAO.insertOrUpdate(workspace);
+ baseDAO.insertOrUpdate(workspace);
organisation.setWorkspace(workspace);
- organisationDAO.insertOrUpdate(organisation);
+ baseDAO.insertOrUpdate(organisation);
return organisation.getOrganisationId();
}
/**
- * This method creates a new Workspace with a given name
- *
- * @param name
- * The name with which workspace should be created
- * @return Workspace The new Workspace object
- */
- public Workspace createWorkspace(String name) {
- Workspace workspace = new Workspace(name);
- workspaceDAO.insert(workspace);
- return workspace;
-
- }
-
- /**
- * This method creates a WorkspaceFolder for a given workspace and user.
- *
- * @param workspace
- * The Workspace in which this WorkspaceFolder will be contained
- * @param userID
- * The user_id of the user who creates the above organisation
- * @param workspaceFolderType
- * The type of folder to be created.
- * @return WorkspaceFolder The new WorkspaceFolder object
- */
- public WorkspaceFolder createWorkspaceFolder(Workspace workspace,
- Integer userID, Integer workspaceFolderType) {
- WorkspaceFolder workspaceFolder = new WorkspaceFolder(workspace
- .getName(), workspace.getWorkspaceId(), userID, new Date(),
- new Date(), workspaceFolderType);
- workspaceFolderDAO.insert(workspaceFolder);
- return workspaceFolder;
-
- }
-
- /**
* @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#save(org.lamsfoundation.lams.usermanagement.User)
*/
- public Integer saveUser(User user, Integer roleID) {
- userDAO.insert(user);
- createUserOrganisation(user, roleID);
- Workspace workspace = createWorkspace(user.getLogin());
- WorkspaceFolder workspaceFolder = createWorkspaceFolder(workspace, user
- .getUserId(), WorkspaceFolder.NORMAL);
- createWorkspaceFolder(workspace, user.getUserId(), WorkspaceFolder.RUN_SEQUENCES);
- workspace.setRootFolder(workspaceFolder);
- workspaceDAO.update(workspace);
- user.setWorkspace(workspace);
- userDAO.update(user);
+ public Integer saveUser(User user) {
+ if(user.getUserId()==null){//new User
+ Workspace workspace = new Workspace(user.getFullName());
+ workspace.setRootFolder(new WorkspaceFolder(workspace.getName(),workspace.getWorkspaceId(),user.getUserId(),new Date(),new Date(),WorkspaceFolder.NORMAL));
+ user.setWorkspace(workspace);
+ }
+ baseDAO.insertOrUpdate(user);
return user.getUserId();
}
-
+
/**
- * This is a utility method required by the above method
- * save
. It adds a new record to the
- * underlying database table indicating the organisation
- * to which this user belongs
- *
- * @param user
- * @param roleID
- * @return Integer
- */
- private Integer createUserOrganisation(User user, Integer roleID) {
- UserOrganisation userOrganisation = new UserOrganisation();
- userOrganisation.setUser(user);
- userOrganisationDAO.insert(userOrganisation);
- userOrganisation.addUserOrganisationRole(createUserOrganisationRole(
- userOrganisation, roleID));
- userOrganisationDAO.insertOrUpdate(userOrganisation);
- return userOrganisation.getUserOrganisationId();
- }
-
- /**
- * This is a utility method required by the above method
- * createUserOrganisation
. It adds a new record
- * to the underlying database table indicating the Role that
- * the given user has in the Organisation.
- *
- * @param userOrganisation
- * @param roleID
- * @return UserOrganisationRole
- */
- private UserOrganisationRole createUserOrganisationRole(
- UserOrganisation userOrganisation, Integer roleID) {
- UserOrganisationRole userOrganisationRole = new UserOrganisationRole();
- userOrganisationRole.setUserOrganisation(userOrganisation);
- userOrganisationRole.setRole(roleDAO.getRoleById(roleID));
- userOrganisationRoleDAO.insert(userOrganisationRole);
- return userOrganisationRole;
- }
- /**
- * @param learningDesignDAO
- * The learningDesignDAO to set.
- */
- public void setLearningDesignDAO(ILearningDesignDAO learningDesignDAO) {
- this.learningDesignDAO = learningDesignDAO;
- }
-
- /**
* @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getUsersFromOrganisationByRole(java.lang.Integer,
* java.lang.String)
*/
public Vector getUsersFromOrganisationByRole(Integer organisationID, String roleName) {
Vector users = new Vector();
- Organisation organisation = organisationDAO.getOrganisationById(organisationID);
+ Organisation organisation = (Organisation)baseDAO.find(Organisation.class,organisationID);
if (organisation != null) {
Iterator iterator = organisation.getUserOrganisations().iterator();
while (iterator.hasNext()) {
@@ -671,76 +305,123 @@
return lessonDAO.getActiveLessonsForLearner(userID, organisationID);
}
- public List getAllOrgnisationStates() {
- return organisationStateDAO.getAllOrganisationStates();
+
+ public Organisation getRootOrganisation() {
+ return (Organisation)baseDAO.findByProperty(Organisation.class,"organisationType.organisationTypeId",OrganisationType.ROOT_TYPE).get(0);
}
- public OrganisationState getOrganisationStateById(Integer organisationStateId) {
- return organisationStateDAO.getOrganisationStateById(organisationStateId);
+ public void save(Object object) {
+ baseDAO.insertOrUpdate(object);
}
- public OrganisationType getOrganisationTypeById(Integer typeId) {
- return organisationTypeDAO.getOrganisationTypeById(typeId);
+ public void saveAll(Collection objects) {
+ baseDAO.insertOrUpdateAll(objects);
}
- public void setLocaleDAO(ILocaleDAO localeDAO) {
- this.localeDAO = localeDAO;
+ public void delete(Object object) {
+ baseDAO.delete(object);
}
- public List getAllCountries() {
- return localeDAO.getAllCountries();
+ public void deleteAll(Class clazz) {
+ baseDAO.deleteAll(clazz);
}
- public List getAllLanguages() {
- return localeDAO.getAllLanguages();
+ public void deleteAll(Collection objects) {
+ baseDAO.deleteAll(objects);
}
- public void setRolePrivilegeDAO(IRolePrivilegeDAO rolePrivilegeDAO) {
- this.rolePrivilegeDAO = rolePrivilegeDAO;
+ public void deleteById(Class clazz, Serializable id) {
+ baseDAO.deleteById(clazz,id);
}
- public List getRolePrivilegesByRoleId(Integer id) {
- return rolePrivilegeDAO.getRolePrivilegesByRoleId(id);
+ public void deleteByProperty(Class clazz, String name, Object value) {
+ baseDAO.deleteByProperty(clazz,name,value);
}
- public List getUserOrganisationsByType(Integer organisationTypeId) {
- return userOrganisationDAO.getUserOrganisationsByType(organisationTypeId);
+ public void deleteByProperties(Class clazz, Map properties) {
+ baseDAO.deleteByProperties(clazz,properties);
}
- public List getOrganisationsByType(Integer organisationTypeId) {
- return organisationDAO.getOrganisationsByType(organisationTypeId);
+ public void deleteAnythingLike(Object object) {
+ baseDAO.deleteAnythingLike(object);
}
- public boolean isUserSysAdmin(String login) {
- return isUserInRoleInOrganisation(login,Role.ROLE_SYSADMIN,getRootOrganisation().getOrganisationId());
+ public Object findById(Class clazz, Serializable id) {
+ return baseDAO.find(clazz,id);
}
- public Organisation getRootOrganisation() {
- return (Organisation)getOrganisationsByType(OrganisationType.ROOT_TYPE).get(0);
+ public List findAll(Class clazz) {
+ return baseDAO.findAll(clazz);
}
- public boolean isUserInRoleInOrganisation(String login, Integer roleId, Integer orgId) {
- return userOrganisationRoleDAO.getUserOrganisationRole(userOrganisationDAO.getUserOrganisation(userDAO.getUserByLogin(login).getUserId(),orgId).getUserOrganisationId(),roleId)!=null;
+ public List findByProperty(Class clazz, String name, Object value) {
+ return baseDAO.findByProperty(clazz,name,value);
}
- public void deleteOrganisationById(Integer orgId) {
- organisationDAO.deleteOrganisationById(orgId);
+ public List findByProperties(Class clazz, Map properties) {
+ return baseDAO.findByProperties(clazz,properties);
}
-
- public void deleteUserById(Integer userId) {
- userDAO.deleteUserById(userId);
+
+ public List findAnythingLike(Object object) {
+ return baseDAO.findAnythingLike(object);
}
- public List getOrganisationsByTypeAndStatus(Integer organisationTypeId, Integer organisationStateId) {
- return organisationDAO.getOrganisationsByTypeAndStatus(organisationTypeId,organisationStateId);
+ public boolean isUserInRole(Integer userId, Integer orgId, String roleName) {
+ Map properties = new HashMap();
+ properties.put("userOrganisation.user.userId",userId);
+ properties.put("userOrganisation.organisation.organisationId",orgId);
+ properties.put("role.name",roleName);
+ if (baseDAO.findByProperties(UserOrganisationRole.class,properties).size()==0)
+ return false;
+ return true;
}
- public List getUserOrganisationsForUserByTypeAndStatus(String username, Integer organisationTypeId, Integer organisationStateId) {
- return userOrganisationDAO.getUserOrganisationsForUserByTypeAndStatus(username,organisationTypeId,organisationStateId);
+ public List getOrganisationsByTypeAndStatus(Integer typeId, Integer stateId) {
+ Map properties = new HashMap();
+ properties.put("organisationType.organisationTypeId",typeId);
+ properties.put("organisationState.organisationStateId",stateId);
+ return baseDAO.findByProperties(Organisation.class,properties);
}
- public List getUserOrganisationRoles(Integer organisationId, String username) {
- return userOrganisationRoleDAO.getUserOrganisationRoles(organisationId,username);
+ public List getUserOrganisationRoles(Integer orgId, String login) {
+ Map properties = new HashMap();
+ properties.put("userOrganisation.organisation.organisationId",orgId);
+ properties.put("userOrganisation.user.login",login);
+ return baseDAO.findByProperties(UserOrganisationRole.class,properties);
}
+ public List getUserOrganisationsForUserByTypeAndStatus(String login, Integer typeId, Integer stateId) {
+ Map properties = new HashMap();
+ properties.put("user.login",login);
+ properties.put("organisation.organisationType.organisationTypeId",typeId);
+ properties.put("organisation.organisationState.organisationStateId",stateId);
+ return baseDAO.findByProperties(UserOrganisation.class,properties);
+ }
+
+ public User getUserByLogin(String login) {
+ return (User)baseDAO.findByProperty(User.class,"login",login).get(0);
+ }
+
+ public void updatePassword(String login, String password) {
+ User user = getUserByLogin(login);
+ user.setPassword(password);
+ 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);
+ properties.put("organisation.organisationId",orgId);
+ return (UserOrganisation)baseDAO.findByProperties(UserOrganisation.class,properties).get(0);
+ }
+
+
}
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/util/ExcelUserImportFileParser.java
===================================================================
diff -u -r1454b2fd27486dd14b1ccf172b96df61a0b0d355 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/util/ExcelUserImportFileParser.java (.../ExcelUserImportFileParser.java) (revision 1454b2fd27486dd14b1ccf172b96df61a0b0d355)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/util/ExcelUserImportFileParser.java (.../ExcelUserImportFileParser.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -55,9 +55,9 @@
*/
public class ExcelUserImportFileParser implements IUserImportFileParser{
- /*
+/*
* start of definition of property keys used in the excel file
- */
+
private static final short LOGIN = 0;
private static final short PASSWORD = 1;
private static final short AUTH_METHOD = 2;
@@ -94,7 +94,7 @@
/**
* @see org.lamsfoundation.lams.usermanagement.util.IUserImportFileParser#parseUsersInOrganisation(FileItem fileItem, Organisation org, String adminLogin, boolean existingUsersOnly)
- */
+
public String parseUsersInOrganisation(FileItem fileItem, Organisation org, String adminLogin, boolean existingUsersOnly) throws IOException{
String errorMessage = "";
POIFSFileSystem fs = new POIFSFileSystem(fileItem.getInputStream());
@@ -310,7 +310,7 @@
int index = roleDescription.indexOf(SEPERATOR, fromIndex);
while (index != -1)
{
- Role role = service.getRoleByName(roleDescription.substring(fromIndex, index));
+ Role role = (Role)service.findByProperty(Role.class,"name",roleDescription.substring(fromIndex, index)).get(0);
if(role!=null)//ignore wrong spelled role
{
roles.add(role);
@@ -330,4 +330,4 @@
String status = parseStringCell(cell,row,-1);
return new Boolean(STATUS_DISABLED.equals(status));
}
-}
+*/}
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/util/IUserImportFileParser.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/util/IUserImportFileParser.java (.../IUserImportFileParser.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/util/IUserImportFileParser.java (.../IUserImportFileParser.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -55,6 +55,6 @@
public static final String AUTH_METHOD_REQUIRED = "Authentication method is required.";
public static final String ROLE_REQUIRED = "Role is required.";
- public String parseUsersInOrganisation(FileItem fileItem, Organisation org, String adminLogin, boolean existingUsersOnly) throws IOException;
+ //public String parseUsersInOrganisation(FileItem fileItem, Organisation org, String adminLogin, boolean existingUsersOnly) throws IOException;
}
Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestActivity.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestActivity.java (.../TestActivity.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestActivity.java (.../TestActivity.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -28,8 +28,8 @@
import org.lamsfoundation.lams.learningdesign.dao.hibernate.ActivityDAO;
import org.lamsfoundation.lams.test.AbstractCommonTestCase;
import org.lamsfoundation.lams.usermanagement.User;
-import org.lamsfoundation.lams.usermanagement.dao.IUserDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.UserDAO;
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
/**
@@ -40,7 +40,7 @@
public class TestActivity extends AbstractCommonTestCase
{
protected ActivityDAO activityDAO;
- protected IUserDAO userDAO;
+ protected IBaseDAO baseDAO;
protected User testUser;
@@ -54,8 +54,8 @@
{
super.setUp();
activityDAO =(ActivityDAO) context.getBean("activityDAO");
- userDAO = (UserDAO)context.getBean("userDAO");
- testUser = userDAO.getUserById(TEST_USER_ID);
+ baseDAO = (BaseDAO)context.getBean("userDAO");
+ testUser = (User)baseDAO.find(User.class,TEST_USER_ID);
}
Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestGroupingDAO.java
===================================================================
diff -u -r56dc9e59c9512b28858b2da10f756103010d9cca -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestGroupingDAO.java (.../TestGroupingDAO.java) (revision 56dc9e59c9512b28858b2da10f756103010d9cca)
+++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestGroupingDAO.java (.../TestGroupingDAO.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -26,8 +26,8 @@
import org.lamsfoundation.lams.learningdesign.dao.hibernate.GroupingDAO;
import org.lamsfoundation.lams.test.AbstractCommonTestCase;
import org.lamsfoundation.lams.usermanagement.User;
-import org.lamsfoundation.lams.usermanagement.dao.IUserDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.UserDAO;
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
/**
*
@@ -39,7 +39,7 @@
public class TestGroupingDAO extends AbstractCommonTestCase
{
protected IGroupingDAO groupingDAO;
- protected IUserDAO userDAO = null;
+ protected IBaseDAO baseDAO = null;
private static Grouping testGrouping =null;
private static User testUser = null;
private final Integer TEST_USER_ID = new Integer(2);
@@ -52,9 +52,9 @@
{
super.setUp();
groupingDAO = (GroupingDAO)context.getBean("groupingDAO");
- userDAO = (UserDAO)context.getBean("userDAO");
+ baseDAO = (BaseDAO)context.getBean("userDAO");
- testUser = userDAO.getUserById(TEST_USER_ID);
+ testUser = (User)baseDAO.find(User.class,TEST_USER_ID);
}
Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningDesignDAO.java
===================================================================
diff -u -r03392c988a23f5e9129967f8ae692488213632fe -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningDesignDAO.java (.../TestLearningDesignDAO.java) (revision 03392c988a23f5e9129967f8ae692488213632fe)
+++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningDesignDAO.java (.../TestLearningDesignDAO.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -32,7 +32,6 @@
import org.lamsfoundation.lams.learningdesign.dao.hibernate.TransitionDAO;
import org.lamsfoundation.lams.learningdesign.dto.LearningDesignDTO;
import org.lamsfoundation.lams.test.AbstractCommonTestCase;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.WorkspaceFolderDAO;
import org.lamsfoundation.lams.util.wddx.WDDXProcessor;
/**
@@ -43,9 +42,6 @@
protected ActivityDAO activityDAO;
private LearningDesignDAO learningDesignDAO;
protected TransitionDAO transitionDAO;
- protected WorkspaceFolderDAO workspaceFolderDAO;
- //private UserDAO userDAO;
- //private User user;
private LearningDesign learningDesign;
public TestLearningDesignDAO(String name) {
Index: lams_common/test/java/org/lamsfoundation/lams/lesson/LessonDataAccessTestCase.java
===================================================================
diff -u -r0a3641cb6f80f0def4d3172ca10da9788a9268f4 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/test/java/org/lamsfoundation/lams/lesson/LessonDataAccessTestCase.java (.../LessonDataAccessTestCase.java) (revision 0a3641cb6f80f0def4d3172ca10da9788a9268f4)
+++ lams_common/test/java/org/lamsfoundation/lams/lesson/LessonDataAccessTestCase.java (.../LessonDataAccessTestCase.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -44,10 +44,8 @@
import org.lamsfoundation.lams.test.AbstractCommonTestCase;
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.User;
-import org.lamsfoundation.lams.usermanagement.dao.IOrganisationDAO;
-import org.lamsfoundation.lams.usermanagement.dao.IUserDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.OrganisationDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.UserDAO;
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
/**
@@ -64,9 +62,8 @@
//---------------------------------------------------------------------
// DAO instances for initializing data
//---------------------------------------------------------------------
- protected IUserDAO userDao;
+ protected IBaseDAO baseDao;
protected ILearningDesignDAO learningDesignDao;
- protected IOrganisationDAO orgDao;
protected ILessonDAO lessonDao;
protected ILessonClassDAO lessonClassDao;
protected ILearnerProgressDAO learnerProgressDao;
@@ -110,14 +107,13 @@
{
super.setUp();
- userDao = (UserDAO) this.context.getBean("userDAO");
+ baseDao = (BaseDAO) this.context.getBean("userDAO");
learningDesignDao = (LearningDesignDAO) this.context.getBean("learningDesignDAO");
- orgDao = (OrganisationDAO) this.context.getBean("organisationDAO");
-
+
//retrieve test domain data
- testUser = userDao.getUserById(TEST_USER_ID);
+ testUser = (User)baseDao.find(User.class,TEST_USER_ID);
testLearningDesign = learningDesignDao.getLearningDesignById(TEST_LEARNING_DESIGN_ID);
- testOrg = orgDao.getOrganisationById(TEST_ORGANIZATION_ID);
+ testOrg = (Organisation)baseDao.find(Organisation.class,TEST_ORGANIZATION_ID);
//get lesson related daos
lessonDao = (LessonDAO)this.context.getBean("lessonDAO");
Index: lams_common/test/java/org/lamsfoundation/lams/tool/ToolDataAccessTestCase.java
===================================================================
diff -u -rbb9853953ff8cc6e70017a866d94fc2cfcb2cc35 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/test/java/org/lamsfoundation/lams/tool/ToolDataAccessTestCase.java (.../ToolDataAccessTestCase.java) (revision bb9853953ff8cc6e70017a866d94fc2cfcb2cc35)
+++ lams_common/test/java/org/lamsfoundation/lams/tool/ToolDataAccessTestCase.java (.../ToolDataAccessTestCase.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -42,8 +42,8 @@
import org.lamsfoundation.lams.tool.dao.hibernate.ToolDAO;
import org.lamsfoundation.lams.tool.dao.hibernate.ToolSessionDAO;
import org.lamsfoundation.lams.usermanagement.User;
-import org.lamsfoundation.lams.usermanagement.dao.IUserDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.UserDAO;
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
/**
@@ -57,7 +57,7 @@
protected IToolContentDAO toolContentDao;
protected IToolDAO toolDao;
protected IToolSessionDAO toolSessionDao;
- protected IUserDAO userDao;
+ protected IBaseDAO baseDao;
protected IActivityDAO activityDAO;
protected IGroupDAO groupDao;
protected ILessonDAO lessonDao;
@@ -99,12 +99,12 @@
toolSessionDao = (ToolSessionDAO)this.context.getBean("toolSessionDAO");
activityDAO =(ActivityDAO) context.getBean("activityDAO");
- userDao = (UserDAO) this.context.getBean("userDAO");
+ baseDao = (BaseDAO) this.context.getBean("userDAO");
groupDao = (GroupDAO)this.context.getBean("groupDAO");
lessonDao = (LessonDAO)this.context.getBean("lessonDAO");
//retrieve test domain data
- testUser = userDao.getUserById(TEST_USER_ID);
+ testUser = (User)baseDao.find(User.class,TEST_USER_ID);
testNonGroupedActivity = (ToolActivity) activityDAO.getActivityByActivityId(TEST_NON_GROUP_ACTIVITY_ID);
testGroupedActivity = (ToolActivity) activityDAO.getActivityByActivityId(TEST_GROUPED_ACTIVITY_ID);
testGroup = (Group)groupDao.getGroupById(TEST_GROUP_ID);
Index: lams_common/test/java/org/lamsfoundation/lams/usermanagement/TestUserManagementService.java
===================================================================
diff -u -r1454b2fd27486dd14b1ccf172b96df61a0b0d355 -r6633f5d5c7844c27582a9b323fead87fac99dfd5
--- lams_common/test/java/org/lamsfoundation/lams/usermanagement/TestUserManagementService.java (.../TestUserManagementService.java) (revision 1454b2fd27486dd14b1ccf172b96df61a0b0d355)
+++ lams_common/test/java/org/lamsfoundation/lams/usermanagement/TestUserManagementService.java (.../TestUserManagementService.java) (revision 6633f5d5c7844c27582a9b323fead87fac99dfd5)
@@ -26,43 +26,30 @@
import java.io.IOException;
import java.util.Date;
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
import org.lamsfoundation.lams.test.AbstractCommonTestCase;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.AuthenticationMethodDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.OrganisationDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.OrganisationTypeDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.RoleDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.UserDAO;
-import org.lamsfoundation.lams.usermanagement.dao.hibernate.UserOrganisationRoleDAO;
import org.lamsfoundation.lams.usermanagement.service.UserManagementService;
/**
* @author Manpreet Minhas
*/
public class TestUserManagementService extends AbstractCommonTestCase {
- protected UserDAO userDAO;
- protected RoleDAO roleDAO;
- protected OrganisationDAO organisationDAO;
- protected OrganisationTypeDAO organisationTypeDAO;
protected UserManagementService userManagementService;
- protected AuthenticationMethodDAO authenticationMethodDAO;
- protected UserOrganisationRoleDAO userOrganisationRoleDAO;
+ private IBaseDAO baseDAO;
+
public TestUserManagementService(String name){
super(name);
}
protected void setUp()throws Exception{
super.setUp();
- userDAO =(UserDAO)context.getBean("userDAO");
- organisationDAO =(OrganisationDAO)context.getBean("organisationDAO");
- organisationTypeDAO =(OrganisationTypeDAO)context.getBean("organisationTypeDAO");
+ baseDAO =(BaseDAO)context.getBean("baseDAO");
userManagementService = (UserManagementService)context.getBean("userManagementService");
- authenticationMethodDAO =(AuthenticationMethodDAO)context.getBean("authenticationMethodDAO");
- roleDAO = (RoleDAO)context.getBean("roleDAO");
- userOrganisationRoleDAO = (UserOrganisationRoleDAO)context.getBean("userOrganisationRoleDAO");
}
- public void testSaveOrganisation(){
+/* public void testSaveOrganisation(){
Organisation organisation = new Organisation("Test Organisation",
"Test Organisation Description",
new Date(),
@@ -79,7 +66,7 @@
user.setCreateDate(new Date());
user.setAuthenticationMethod(authenticationMethodDAO.getAuthenticationMethodById(new Integer(2)));
assertNotNull(userManagementService.saveUser(user, new Integer(3)));
- }
+ }*/
/**
public void testGetUsersFromOrganisationByRole() throws IOException{
String packet = userManagementService.getUsersFromOrganisationByRole(new Integer(4),"AUTHOR");
Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/test/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/OrganisationDAOTest.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/test/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/OrganisationTypeDAOTest.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/test/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/RoleDAOTest.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/test/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/TestUserOrganisationDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/test/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/TestWorkspaceDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/test/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/TestWorkspaceFolderDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/test/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/UserDAOTest.java'.
Fisheye: No comparison available. Pass `N' to diff?