Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/Attic/McContent.hbm.xml,v diff -u -r1.5 -r1.6 --- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml 7 Oct 2005 11:53:21 -0000 1.5 +++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml 7 Oct 2005 20:17:49 -0000 1.6 @@ -1,7 +1,7 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McOptsContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/Attic/McOptsContent.hbm.xml,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McOptsContent.hbm.xml 7 Oct 2005 10:21:22 -0000 1.2 +++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McOptsContent.hbm.xml 7 Oct 2005 20:17:49 -0000 1.3 @@ -1,7 +1,7 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > - + Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcContentDAO.java,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcContentDAO.java 4 Oct 2005 09:47:37 -0000 1.2 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcContentDAO.java 7 Oct 2005 20:17:49 -0000 1.3 @@ -20,6 +20,8 @@ */ package org.lamsfoundation.lams.tool.mc.dao; +import java.util.List; + import org.lamsfoundation.lams.tool.mc.McContent; import org.lamsfoundation.lams.tool.mc.McSession; @@ -81,16 +83,13 @@ public void removeMc(McContent mcContent); - public void removeMcById(Long mcContentId); - - /** *

Delete the given instance of McContent with the * given tool content id mcContentId * * @param mcContentId The tool content Id. */ - public void removeMc(Long mcContentId); + public void removeMcById(Long mcContentId); /** @@ -113,6 +112,8 @@ */ public void addMcSession(Long mcContentId, McSession mcSession); + public List findAll(Class objClass); + public void flush(); } \ No newline at end of file Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java 6 Oct 2005 16:01:07 -0000 1.3 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcOptionsContentDAO.java 7 Oct 2005 20:17:49 -0000 1.4 @@ -40,11 +40,9 @@ public void removeMcOptionsContentByUID(Long uid); - public void removeMcOptionsContent(Long mcQueOptionId); - public void removeMcOptionsContentById(Long mcQueOptionId); - - public void removeMcOptionsContent(McOptsContent mcOptionsContent); + + public void removeMcOptionsContent(McOptsContent mcOptsContent); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcQueContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcQueContentDAO.java,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcQueContentDAO.java 4 Oct 2005 09:47:37 -0000 1.2 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcQueContentDAO.java 7 Oct 2005 20:17:49 -0000 1.3 @@ -45,12 +45,11 @@ public void updateMcQueContent(McQueContent mcQueContent); + public void saveOrUpdateMcQueContent(McQueContent mcQueContent); + public void removeMcQueContentByUID(Long uid); - public void removeMcQueContent(Long mcQueContentId); - public void removeMcQueContentById(Long mcQueContentId); - - public void removeMcQueContent(McQueContent mcQueContent); + public void removeMcQueContent(McQueContent mcQueContent); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java 4 Oct 2005 10:07:03 -0000 1.2 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcSessionDAO.java 7 Oct 2005 20:17:49 -0000 1.3 @@ -23,8 +23,8 @@ import java.util.List; import org.lamsfoundation.lams.tool.mc.McContent; -import org.lamsfoundation.lams.tool.mc.McSession; import org.lamsfoundation.lams.tool.mc.McQueUsr; +import org.lamsfoundation.lams.tool.mc.McSession; /** @@ -78,20 +78,10 @@ */ public void removeMcSessionByUID(Long uid); - /** - *

Delete the given instance of McSession

- * - * @param mcSession The instance of McSession to delete. - */ + public void removeMcSessionById(Long mcSessionId); + public void removeMcSession(McSession mcSession); - /** - *

Delete the given instance of McSession with the - * given tool session id mcSessionid - * - * @param mcSessionId The tool session Id. - */ - public void removeMcSession(Long mcSessionId); /** *

Returns the persistent instance of McSession @@ -101,15 +91,9 @@ * @param userId The mc user id * @return a persistent instance of McSessions or null if not found. */ - public McSession getMcSessionByUser(Long userId); + public McSession getMcSessionByUser(Long userId); - /** - *

Deletes all instances of McQueUsr that are associated - * with the given instance of McSession

- * - * @param mcSession The instance of McSession in which corresponding instances of McQueUsr should be deleted. - */ - public void removeMcUsers(McSession mcSession); + /** *

Creates and persists an instance of McQueUsr which is associated Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java 7 Oct 2005 10:21:22 -0000 1.3 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java 7 Oct 2005 20:17:49 -0000 1.4 @@ -82,7 +82,7 @@ * * @param userId The mc user id. */ - public void removeMcUser(Long userId); + public void removeMcUserById(Long userId); /** * Returns the number of users that are in this particular Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java 4 Oct 2005 10:32:40 -0000 1.2 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java 7 Oct 2005 20:17:49 -0000 1.3 @@ -40,8 +40,6 @@ public void removeMcUsrAttemptByUID(Long uid); - public void removeMcUsrAttempt(Long attemptId); - public void removeMcUsrAttemptById(Long attemptId); public void removeMcUsrAttempt(McUsrAttempt mcUsrAttempt); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McContentDAO.java,v diff -u -r1.4 -r1.5 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McContentDAO.java 5 Oct 2005 13:18:53 -0000 1.4 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McContentDAO.java 7 Oct 2005 20:17:49 -0000 1.5 @@ -22,25 +22,25 @@ package org.lamsfoundation.lams.tool.mc.dao.hibernate; import java.util.List; -import java.lang.Long; -import net.sf.hibernate.Hibernate; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; +import org.hibernate.FlushMode; +import org.hibernate.HibernateException; +import org.hibernate.Session; import org.lamsfoundation.lams.tool.mc.McContent; import org.lamsfoundation.lams.tool.mc.McSession; import org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO; -import org.springframework.orm.hibernate.HibernateCallback; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateCallback; +import org.springframework.orm.hibernate3.HibernateTemplate; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * @author ozgurd *

Hibernate implementation for database access to Mc content for the mc tool.

*/ public class McContentDAO extends HibernateDaoSupport implements IMcContentDAO { + private static final String FIND_MC_CONTENT = "from " + McContent.class.getName() + " as mc where mc_content_id=?"; - private static final String LOAD_MC_BY_SESSION = "select mc from McContent mc left join fetch " + "mc.mcSessions session where session.mcSessionId=:sessionId"; @@ -49,25 +49,21 @@ /** @see org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO#getMcContentByUID(java.lang.Long) */ public McContent getMcContentByUID(Long uid) { - return (McContent) this.getHibernateTemplate() - .get(McContent.class, uid); + return (McContent) this.getHibernateTemplate().get(McContent.class, uid); } + + /** Finds a package via the tool content id. Returns + * null if not found + */ /** @see org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO#findMcContentById(java.lang.Long) */ public McContent findMcContentById(Long mcContentId) { - String query = "from McContent as mc where mc.mcContentId = ?"; - List content = getHibernateTemplate().find(query,mcContentId); - - if(content!=null && content.size() == 0) - { - return null; - } - else - { - return (McContent)content.get(0); - } - + String query = "from McContent as mc where mc.mcContentId = ?"; + + return (McContent) getSession().createQuery(query) + .setLong(0,mcContentId.longValue()) + .uniqueResult(); } /** @see org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO#getMcContentBySession(java.lang.Long) */ @@ -101,25 +97,24 @@ /** @see org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO#removeMc(java.lang.Long)*/ - public void removeMc(Long mcContentId) + public void removeMcById(Long mcContentId) { - - String query = "from McContent as mc where mc.mcContentId="; - StringBuffer sb = new StringBuffer(query); - sb.append(mcContentId.longValue()); - String queryString = sb.toString(); - - this.getHibernateTemplate().delete(queryString); + HibernateTemplate templ = this.getHibernateTemplate(); + if ( mcContentId != null) { + List list = getSession().createQuery(FIND_MC_CONTENT) + .setLong(0,mcContentId.longValue()) + .list(); + + if(list != null && list.size() > 0){ + McContent mc = (McContent) list.get(0); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(mc); + templ.flush(); + } + } } - public void removeMcById(Long mcContentId) - { - String query = "from mc in class org.lamsfoundation.lams.tool.mc.McContent" - + " where mc.mcContentId = ?"; - this.getHibernateTemplate().delete(query,mcContentId,Hibernate.LONG); - } - /** @see org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO#removeMc(org.lamsfoundation.lams.tool.mc.McContent)*/ public void removeMc(McContent mcContent) @@ -141,9 +136,13 @@ content.getMcSessions().add(mcSession); this.getHibernateTemplate().saveOrUpdate(mcSession); this.getHibernateTemplate().saveOrUpdate(content); - } + public List findAll(Class objClass) { + String query="from obj in class " + objClass.getName(); + return this.getHibernateTemplate().find(query); + } + public void flush() { this.getHibernateTemplate().flush(); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java 6 Oct 2005 16:01:07 -0000 1.3 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McOptionsContentDAO.java 7 Oct 2005 20:17:49 -0000 1.4 @@ -8,14 +8,15 @@ import java.util.List; -import net.sf.hibernate.Hibernate; - import org.apache.log4j.Logger; +import org.hibernate.FlushMode; import org.lamsfoundation.lams.tool.mc.McOptsContent; import org.lamsfoundation.lams.tool.mc.dao.IMcOptionsContentDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateTemplate; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; + /** * @author ozgurd * @@ -26,6 +27,8 @@ public class McOptionsContentDAO extends HibernateDaoSupport implements IMcOptionsContentDAO { static Logger logger = Logger.getLogger(McOptionsContentDAO.class.getName()); + private static final String FIND_MC_OPTS_CONTENT = "from " + McOptsContent.class.getName() + " as mc where mc_que_option_id=?"; + public McOptsContent getMcOptionsContentByUID(Long uid) { return (McOptsContent) this.getHibernateTemplate() @@ -34,18 +37,11 @@ public McOptsContent findMcOptionsContentById(Long mcQueOptionId) { - String query = "from McOptsContent as mco where mco.mcQueOptionId = ?"; - List content = getHibernateTemplate().find(query,mcQueOptionId); - - if(content!=null && content.size() == 0) - { - return null; - } - else - { - return (McOptsContent)content.get(0); - } - + String query = "from McOptsContent as mco where mco.mcQueOptionId = ?"; + + return (McOptsContent) getSession().createQuery(query) + .setLong(0,mcQueOptionId.longValue()) + .uniqueResult(); } @@ -67,21 +63,21 @@ } - public void removeMcOptionsContent(Long mcQueOptionId) - { - String query = "from McOptsContent as mco where mco.mcQueOptionId="; - StringBuffer sb = new StringBuffer(query); - sb.append(mcQueOptionId.longValue()); - String queryString = sb.toString(); - - this.getHibernateTemplate().delete(queryString); - } - public void removeMcOptionsContentById(Long mcQueOptionId) { - String query = "from mco in class org.lamsfoundation.lams.tool.mc.McOptsContent" - + " where mcq.mcQueOptionId = ?"; - this.getHibernateTemplate().delete(query,mcQueOptionId,Hibernate.LONG); + HibernateTemplate templ = this.getHibernateTemplate(); + if ( mcQueOptionId != null) { + List list = getSession().createQuery(FIND_MC_OPTS_CONTENT) + .setLong(0,mcQueOptionId.longValue()) + .list(); + + if(list != null && list.size() > 0){ + McOptsContent mco = (McOptsContent) list.get(0); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(mco); + templ.flush(); + } + } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McQueContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McQueContentDAO.java,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McQueContentDAO.java 6 Oct 2005 16:01:07 -0000 1.3 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McQueContentDAO.java 7 Oct 2005 20:17:49 -0000 1.4 @@ -8,16 +8,16 @@ import java.util.List; -import net.sf.hibernate.Hibernate; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; - import org.apache.log4j.Logger; +import org.hibernate.FlushMode; +import org.hibernate.HibernateException; +import org.hibernate.Session; import org.lamsfoundation.lams.tool.mc.McContent; import org.lamsfoundation.lams.tool.mc.McQueContent; import org.lamsfoundation.lams.tool.mc.dao.IMcQueContentDAO; -import org.springframework.orm.hibernate.HibernateCallback; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateCallback; +import org.springframework.orm.hibernate3.HibernateTemplate; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; @@ -31,6 +31,8 @@ public class McQueContentDAO extends HibernateDaoSupport implements IMcQueContentDAO { static Logger logger = Logger.getLogger(McQueContentDAO.class.getName()); + + private static final String FIND_MC_QUE_CONTENT = "from " + McQueContent.class.getName() + " as mcq where mc_que_content_id=?"; private static final String LOAD_QUESTION_CONTENT_BY_CONTENT_ID = "from mcQueContent in class McQueContent where mcQueContent.mcContentId=:mcContentId"; private static final String GET_QUESTION_IDS_FOR_CONTENT = "select mcQueContent.mcQueContentId from McQueContent mcQueContent where mcQueContent.mcContentId = :mc"; @@ -44,18 +46,12 @@ public McQueContent findMcQueContentById(Long mcQueContentId) { - String query = "from McQueContent as mcq where mcq.mcQueContentId = ?"; - List content = getHibernateTemplate().find(query,mcQueContentId); - - if(content!=null && content.size() == 0) - { - return null; - } - else - { - return (McQueContent)content.get(0); - } - + String query = "from McQueContent as mcq where mcq.mcQueContentId = ?"; + + return (McQueContent) getSession().createQuery(query) + .setLong(0,mcQueContentId.longValue()) + .uniqueResult(); + } public McQueContent getToolDefaultQuestionContent(final long mcContentId) @@ -93,29 +89,33 @@ this.getHibernateTemplate().update(mcQueContent); } + public void saveOrUpdateMcQueContent(McQueContent mcQueContent) + { + this.getHibernateTemplate().saveOrUpdate(mcQueContent); + } + public void removeMcQueContentByUID(Long uid) { McQueContent mcq = (McQueContent)getHibernateTemplate().get(McQueContent.class, uid); this.getHibernateTemplate().delete(mcq); } - public void removeMcQueContent(Long mcQueContentId) - { - String query = "from McQueContent as mcq where mcq.mcQueContentId="; - StringBuffer sb = new StringBuffer(query); - sb.append(mcQueContentId.longValue()); - String queryString = sb.toString(); - - this.getHibernateTemplate().delete(queryString); - } - - public void removeMcQueContentById(Long mcQueContentId) { - String query = "from mcq in class org.lamsfoundation.lams.tool.mc.McQueContent" - + " where mcq.mcQueContentId = ?"; - this.getHibernateTemplate().delete(query,mcQueContentId,Hibernate.LONG); + HibernateTemplate templ = this.getHibernateTemplate(); + if ( mcQueContentId != null) { + List list = getSession().createQuery(FIND_MC_QUE_CONTENT) + .setLong(0,mcQueContentId.longValue()) + .list(); + + if(list != null && list.size() > 0){ + McQueContent mcq = (McQueContent) list.get(0); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(mcq); + templ.flush(); + } + } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java 4 Oct 2005 09:47:37 -0000 1.2 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java 7 Oct 2005 20:17:49 -0000 1.3 @@ -23,15 +23,16 @@ import java.util.List; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; - +import org.hibernate.FlushMode; +import org.hibernate.HibernateException; +import org.hibernate.Session; import org.lamsfoundation.lams.tool.mc.McContent; import org.lamsfoundation.lams.tool.mc.McQueUsr; import org.lamsfoundation.lams.tool.mc.McSession; import org.lamsfoundation.lams.tool.mc.dao.IMcSessionDAO; -import org.springframework.orm.hibernate.HibernateCallback; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateCallback; +import org.springframework.orm.hibernate3.HibernateTemplate; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * @author ozgurd @@ -40,6 +41,8 @@ public class McSessionDAO extends HibernateDaoSupport implements IMcSessionDAO { + private static final String FIND_MC_SESSION_CONTENT = "from " + McSession.class.getName() + " as mcs where mc_session_id=?"; + private static final String LOAD_MCSESSION_BY_USER = "select ms from McSession ms left join fetch " + "ms.mcQueUsers user where user.queUsrId=:userId"; @@ -54,18 +57,12 @@ /** @see org.lamsfoundation.lams.tool.mc.dao.IMcSessionDAO#findMcSessionById(java.lang.Long) */ public McSession findMcSessionById(Long mcSessionId) - { - String query = "from McSession mcS where mcS.mcSessionId=?"; - List session = getHibernateTemplate().find(query,mcSessionId); - - if(session!=null && session.size() == 0) - { - return null; - } - else - { - return (McSession)session.get(0); - } + { + String query = "from McSession mcs where mcs.mcSessionId=?"; + + return (McSession) getSession().createQuery(query) + .setLong(0,mcSessionId.longValue()) + .uniqueResult(); } @@ -91,16 +88,25 @@ } /** @see org.lamsfoundation.lams.tool.mc.dao.IMcSessionDAO#removeMcSession(java.lang.Long) */ - public void removeMcSession(Long mcSessionId) + public void removeMcSessionById(Long mcSessionId) { - String query = "from McSession as ms where ms.mcSessionId ="; - StringBuffer sb = new StringBuffer(query); - sb.append(mcSessionId.longValue()); + String query = "from McSession as mcs where mcs.mcSessionId ="; - String queryString = sb.toString(); - - this.getHibernateTemplate().delete(queryString); - + HibernateTemplate templ = this.getHibernateTemplate(); + if ( mcSessionId != null) { + List list = getSession().createQuery(FIND_MC_SESSION_CONTENT) + .setLong(0,mcSessionId.longValue()) + .list(); + + if(list != null && list.size() > 0){ + McSession mcs = (McSession) list.get(0); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(mcs); + templ.flush(); + } + } + + } /** @see org.lamsfoundation.lams.tool.mc.dao.IMcSessionDAO#removeMcSession(org.lamsfoundation.lams.tool.mc.McSession) */ public void removeMcSession(McSession mcSession) @@ -136,11 +142,13 @@ /** @see org.lamsfoundation.lams.tool.mc.dao.IMcSessionDAO#addMcUsers(java.lang.Long, org.lamsfoundation.lams.tool.mc.McSession) */ public void addMcUsers(Long mcSessionId, McQueUsr user) { + /* McSession session = findMcSessionById(mcSessionId); user.setMcSession(session); session.getMcQueUsers().add(user); this.getHibernateTemplate().saveOrUpdate(user); - this.getHibernateTemplate().saveOrUpdateCopy(session); + this.getHibernateTemplate().saveOrUpdateCopy(session); + */ } /** @see org.lamsfoundation.lams.tool.mc.dao.IMcSessionDAO#getSessionsFromContent(org.lamsfoundation.lams.tool.mc.McSession) */ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java 7 Oct 2005 10:21:22 -0000 1.3 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java 7 Oct 2005 20:17:49 -0000 1.4 @@ -26,21 +26,24 @@ import java.util.List; +import org.hibernate.FlushMode; import org.lamsfoundation.lams.tool.mc.McQueUsr; import org.lamsfoundation.lams.tool.mc.McSession; import org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateTemplate; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * @author ozgurd *

Hibernate implementation for database access to Mc users (learners) for the mc tool.

*/ public class McUserDAO extends HibernateDaoSupport implements IMcUserDAO { - private static final String COUNT_USERS_IN_SESSION = "select mu.queUsrId from McQueUsr mu where mu.mcSession= :mcSession"; + private static final String FIND_MC_USR_CONTENT = "from " + McQueUsr.class.getName() + " as mcu where que_usr_id=?"; + + private static final String COUNT_USERS_IN_SESSION = "select mu.queUsrId from McQueUsr mu where mu.mcSession= :mcSession"; - /** @see org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO#getMcUserByUID(java.lang.Long) */ public McQueUsr getMcUserByUID(Long uid) { @@ -53,23 +56,18 @@ /** @see org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO#getMcUserByID(java.lang.Long) */ public McQueUsr findMcUserById(Long userId) { - String query = "from McQueUsr user where user.queUsrId=?"; - List users = getHibernateTemplate().find(query,userId); + String query = "from McQueUsr user where user.queUsrId=?"; - if(users!=null && users.size() == 0) - { - return null; - } - else - { - return (McQueUsr)users.get(0); - } + return (McQueUsr) getSession().createQuery(query) + .setLong(0,userId.longValue()) + .uniqueResult(); } /** @see org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO#getMcUserBySession(java.lang.Long, java.lang.Long)*/ public McQueUsr getMcUserBySession(Long userId, Long sessionId) { + /* String query = "select mu from McQueUsr mu where mu.queUsrId=? and mu.mcSession.mcSessionId=?"; Long[] bindingValues = new Long[2]; bindingValues[0] = userId; @@ -84,7 +82,8 @@ { return (McQueUsr)usersReturned.get(0); } - + */ + return null; } @@ -101,15 +100,21 @@ } /** @see org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO#removeMcUser(java.lang.Long) */ - public void removeMcUser(Long userId) + public void removeMcUserById(Long userId) { - String query = "from McQueUsr as user where user.queUsrId ="; - StringBuffer sb = new StringBuffer(query); - sb.append(userId.longValue()); - - String queryString = sb.toString(); - - this.getHibernateTemplate().delete(queryString); + HibernateTemplate templ = this.getHibernateTemplate(); + if ( userId != null) { + List list = getSession().createQuery(FIND_MC_USR_CONTENT) + .setLong(0,userId.longValue()) + .list(); + + if(list != null && list.size() > 0){ + McQueUsr mcu = (McQueUsr) list.get(0); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(mcu); + templ.flush(); + } + } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java 4 Oct 2005 10:32:39 -0000 1.2 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java 7 Oct 2005 20:17:49 -0000 1.3 @@ -8,12 +8,12 @@ import java.util.List; -import net.sf.hibernate.Hibernate; - import org.apache.log4j.Logger; +import org.hibernate.FlushMode; import org.lamsfoundation.lams.tool.mc.McUsrAttempt; import org.lamsfoundation.lams.tool.mc.dao.IMcUsrAttemptDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateTemplate; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; @@ -28,6 +28,8 @@ public class McUsrAttemptDAO extends HibernateDaoSupport implements IMcUsrAttemptDAO { static Logger logger = Logger.getLogger(McUsrAttemptDAO.class.getName()); + private static final String FIND_USR_ATTEMPT = "from " + McUsrAttempt.class.getName() + " as mca where attempt_id=?"; + public McUsrAttempt getMcUserAttemptByUID(Long uid) { return (McUsrAttempt) this.getHibernateTemplate() @@ -37,16 +39,10 @@ public McUsrAttempt findMcUsrAttemptById(Long attemptId) { String query = "from McUsrAttempt as mca where mca.attemptId = ?"; - List content = getHibernateTemplate().find(query,attemptId); - - if(content!=null && content.size() == 0) - { - return null; - } - else - { - return (McUsrAttempt)content.get(0); - } + + return (McUsrAttempt) getSession().createQuery(query) + .setLong(0,attemptId.longValue()) + .uniqueResult(); } @@ -68,22 +64,21 @@ } - public void removeMcUsrAttempt(Long attemptId) - { - String query = "from McUsrAttempt as mca where mca.attemptId="; - StringBuffer sb = new StringBuffer(query); - sb.append(attemptId.longValue()); - String queryString = sb.toString(); - - this.getHibernateTemplate().delete(queryString); - } - - public void removeMcUsrAttemptById(Long attemptId) { - String query = "from mca in class org.lamsfoundation.lams.tool.mc.McUsrAttempt" - + " where mca.attemptId = ?"; - this.getHibernateTemplate().delete(query,attemptId,Hibernate.LONG); + HibernateTemplate templ = this.getHibernateTemplate(); + if ( attemptId != null) { + List list = getSession().createQuery(FIND_USR_ATTEMPT) + .setLong(0,attemptId.longValue()) + .list(); + + if(list != null && list.size() > 0){ + McUsrAttempt mcu = (McUsrAttempt) list.get(0); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(mcu); + templ.flush(); + } + } } public void removeMcUsrAttempt(McUsrAttempt mcUsrAttempt) Index: lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/Attic/McContent.hbm.xml,v diff -u -r1.4 -r1.5 --- lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml 7 Oct 2005 11:53:21 -0000 1.4 +++ lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml 7 Oct 2005 20:19:26 -0000 1.5 @@ -1,7 +1,7 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > Index: lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McDataAccessTestCase.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/Attic/McDataAccessTestCase.java,v diff -u -r1.4 -r1.5 --- lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McDataAccessTestCase.java 6 Oct 2005 16:01:07 -0000 1.4 +++ lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McDataAccessTestCase.java 7 Oct 2005 20:19:26 -0000 1.5 @@ -27,6 +27,7 @@ protected final Long TEST_QUE_OPTION_ID3 = new Long(3); protected final Long TEST_NEW_USER_ID = new Long(100); + protected final Long TEST_MY_USER_ID = new Long(77); protected final long ONE_DAY = 60 * 60 * 1000 * 24; @@ -64,8 +65,7 @@ protected String[] getContextConfigLocation() { - System.out.println("McDataAccessTestCase will be configured"); - return new String[] {"/org/lamsfoundation/lams/tool/mc/testmcApplicationContext.xml" }; + return new String[] {"/org/lamsfoundation/lams/tool/mc/testmcApplicationContext.xml" }; } protected String getHibernateSessionFactoryName() Index: lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McOptsContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/Attic/McOptsContent.hbm.xml,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McOptsContent.hbm.xml 7 Oct 2005 10:21:22 -0000 1.2 +++ lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McOptsContent.hbm.xml 7 Oct 2005 20:19:26 -0000 1.3 @@ -1,7 +1,7 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > - + @@ -58,7 +58,7 @@ - +