Index: lams_tool_lamc/conf/hibernate/mappings/McQueContent.hbm.xml =================================================================== diff -u -r2e8a19211f0b02defbb3623251f97f89ee1c7fc9 -ra4a6e7505e6a9de8913dd1fe62a678d3c00dbf56 --- lams_tool_lamc/conf/hibernate/mappings/McQueContent.hbm.xml (.../McQueContent.hbm.xml) (revision 2e8a19211f0b02defbb3623251f97f89ee1c7fc9) +++ lams_tool_lamc/conf/hibernate/mappings/McQueContent.hbm.xml (.../McQueContent.hbm.xml) (revision a4a6e7505e6a9de8913dd1fe62a678d3c00dbf56) @@ -18,9 +18,9 @@ @@ -41,6 +41,18 @@ length="5" > + + + + @@ -41,6 +41,18 @@ length="5" > + + + + Delete the given instance of McContent with the * given tool content id mcContentId @@ -95,6 +99,8 @@ * * @param mcContent The instance of McContent in which corresponding instances of McSession should be deleted. */ + + public void removeMcSessions(McContent mcContent); /** @@ -107,4 +113,6 @@ */ public void addMcSession(Long mcContentId, McSession mcSession); + public void flush(); + } \ No newline at end of file Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcQueContentDAO.java =================================================================== diff -u -r2a44c30b10969e02e8231862e47f54974ce3d056 -ra4a6e7505e6a9de8913dd1fe62a678d3c00dbf56 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcQueContentDAO.java (.../IMcQueContentDAO.java) (revision 2a44c30b10969e02e8231862e47f54974ce3d056) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcQueContentDAO.java (.../IMcQueContentDAO.java) (revision a4a6e7505e6a9de8913dd1fe62a678d3c00dbf56) @@ -20,12 +20,15 @@ */ package org.lamsfoundation.lams.tool.mc.dao; +import java.util.List; + +import org.lamsfoundation.lams.tool.mc.McContent; import org.lamsfoundation.lams.tool.mc.McQueContent; /** * - * @author Ozgur Demirtas + * @author ozgurd * */ public interface IMcQueContentDAO @@ -34,12 +37,20 @@ public McQueContent findMcQueContentById(Long mcQueContentId); - public McQueContent getMcQueById(long mcQueContentId); + public McQueContent getToolDefaultQuestionContent(final long mcContentId); + + public List getQuestionIndsForContent(McContent mc); + + public void saveMcQueContent(McQueContent mcQueContent); - public McQueContent getToolDefaultQuestionContent(final long mcContentId); + public void updateMcQueContent(McQueContent mcQueContent); + + public void removeMcQueContentByUID(Long uid); + + public void removeMcQueContent(Long mcQueContentId); + + public void removeMcQueContentById(Long mcQueContentId); + + public void removeMcQueContent(McQueContent mcQueContent); - public void createQueContent(McQueContent queContent); - - public void removeQueContent(long mcQueContentId); - } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java =================================================================== diff -u -rfdfde70a60685ba9b6aff901a9792542afd45fbb -ra4a6e7505e6a9de8913dd1fe62a678d3c00dbf56 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java (.../IMcUserDAO.java) (revision fdfde70a60685ba9b6aff901a9792542afd45fbb) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUserDAO.java (.../IMcUserDAO.java) (revision a4a6e7505e6a9de8913dd1fe62a678d3c00dbf56) @@ -56,6 +56,10 @@ * * @param nbUser The instance of McQueUsr to persist. */ + + public McQueUsr getMcUserBySession(Long userId, Long sessionId); + + public void saveMcUser(McQueUsr mcUser); /** Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McQueContentDAO.java =================================================================== diff -u -r2a44c30b10969e02e8231862e47f54974ce3d056 -ra4a6e7505e6a9de8913dd1fe62a678d3c00dbf56 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McQueContentDAO.java (.../McQueContentDAO.java) (revision 2a44c30b10969e02e8231862e47f54974ce3d056) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McQueContentDAO.java (.../McQueContentDAO.java) (revision a4a6e7505e6a9de8913dd1fe62a678d3c00dbf56) @@ -8,10 +8,12 @@ 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.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; @@ -29,20 +31,20 @@ public class McQueContentDAO extends HibernateDaoSupport implements IMcQueContentDAO { static Logger logger = Logger.getLogger(McQueContentDAO.class.getName()); + 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"; - /** @see org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO#getMcQueContentByUID(java.lang.Long) */ - public McQueContent getMcQueContentByUID(Long uid) + public McQueContent getMcQueContentByUID(Long uid) { return (McQueContent) this.getHibernateTemplate() .get(McQueContent.class, uid); } - /** @see org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO#findMcQueContentById(java.lang.Long) */ public McQueContent findMcQueContentById(Long mcQueContentId) { - String query = "from McContent as mc where mc.mcContentId = ?"; + String query = "from McQueContent as mcq where mcq.mcQueContentId = ?"; List content = getHibernateTemplate().find(query,mcQueContentId); if(content!=null && content.size() == 0) @@ -70,19 +72,56 @@ } - public McQueContent getMcQueById(long mcQueContentId) - { - return (McQueContent) this.getHibernateTemplate().load(McQueContent.class, new Long(mcQueContentId)); - } + public List getQuestionIndsForContent(McContent mc) + { + + List listDefaultQuestionIds=(getHibernateTemplate().findByNamedParam(GET_QUESTION_IDS_FOR_CONTENT, + "mc", + mc)); + + return listDefaultQuestionIds; + } - public void createQueContent(McQueContent queContent) + + public void saveMcQueContent(McQueContent mcQueContent) { - this.getHibernateTemplate().save(queContent); + this.getHibernateTemplate().save(mcQueContent); } + + public void updateMcQueContent(McQueContent mcQueContent) + { + this.getHibernateTemplate().update(mcQueContent); + } - public void removeQueContent(long mcQueContentId) + public void removeMcQueContentByUID(Long uid) { - McQueContent mcQueContent= (McQueContent) this.getHibernateTemplate().load(McQueContent.class, new Long(mcQueContentId)); - this.getHibernateTemplate().delete(mcQueContent); + 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); + } + + + public void removeMcQueContent(McQueContent mcQueContent) + { + this.getHibernateTemplate().delete(mcQueContent); + } + } \ No newline at end of file Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java =================================================================== diff -u -rd5c5282b3010b7ca8605cfa64012c5ecff95880e -ra4a6e7505e6a9de8913dd1fe62a678d3c00dbf56 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java (.../McSessionDAO.java) (revision d5c5282b3010b7ca8605cfa64012c5ecff95880e) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McSessionDAO.java (.../McSessionDAO.java) (revision a4a6e7505e6a9de8913dd1fe62a678d3c00dbf56) @@ -67,7 +67,8 @@ return (McSession)session.get(0); } } - + + /** @see org.lamsfoundation.lams.tool.mc.dao.IMcSessionDAO#saveMcSession(org.lamsfoundation.lams.tool.mc.McSession) */ public void saveMcSession(McSession mcSession) { Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java =================================================================== diff -u -rfdfde70a60685ba9b6aff901a9792542afd45fbb -ra4a6e7505e6a9de8913dd1fe62a678d3c00dbf56 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java (.../McUserDAO.java) (revision fdfde70a60685ba9b6aff901a9792542afd45fbb) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java (.../McUserDAO.java) (revision a4a6e7505e6a9de8913dd1fe62a678d3c00dbf56) @@ -26,10 +26,10 @@ import java.util.List; -import org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO; import org.lamsfoundation.lams.tool.mc.McQueUsr; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; import org.lamsfoundation.lams.tool.mc.McSession; +import org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO; +import org.springframework.orm.hibernate.support.HibernateDaoSupport; /** * @author ozgurd @@ -64,6 +64,28 @@ } } + + /** @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; + bindingValues[1] = sessionId; + List usersReturned = getHibernateTemplate().find(query, bindingValues); + + if (usersReturned!= null && usersReturned.size() == 0) + { + return null; + } + else + { + return (McQueUsr)usersReturned.get(0); + } + + } + + /** @see org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO#saveMcUser(org.lamsfoundation.lams.tool.mc.McUser) */ public void saveMcUser(McQueUsr mcUser) { Index: lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McQueContent.hbm.xml =================================================================== diff -u -rfdfde70a60685ba9b6aff901a9792542afd45fbb -ra4a6e7505e6a9de8913dd1fe62a678d3c00dbf56 --- lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McQueContent.hbm.xml (.../McQueContent.hbm.xml) (revision fdfde70a60685ba9b6aff901a9792542afd45fbb) +++ lams_tool_lamc/test/java/org/lamsfoundation/lams/tool/mc/McQueContent.hbm.xml (.../McQueContent.hbm.xml) (revision a4a6e7505e6a9de8913dd1fe62a678d3c00dbf56) @@ -18,9 +18,9 @@ @@ -41,6 +41,18 @@ length="5" > + + + + @@ -41,6 +41,18 @@ length="5" > + + + +