Index: lams_tool_laqa/conf/hibernate/mappings/QaQueContent.hbm.xml =================================================================== diff -u -re4fa840a72a71bfd8608fbb2ac359e59832bf881 -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/conf/hibernate/mappings/QaQueContent.hbm.xml (.../QaQueContent.hbm.xml) (revision e4fa840a72a71bfd8608fbb2ac359e59832bf881) +++ lams_tool_laqa/conf/hibernate/mappings/QaQueContent.hbm.xml (.../QaQueContent.hbm.xml) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -9,15 +9,16 @@ table="tl_laqa11_que_content" > - - - + + + - + + + + + + - - + + - + + + + + + + + + + + + + + @@ -59,7 +72,7 @@ - + @@ -334,33 +347,20 @@ - +
- + - - - - - - - - - - - - - @@ -423,7 +423,7 @@ - + @@ -521,7 +521,7 @@
- + Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java =================================================================== diff -u -r5fe2b3e8754297d2c9f5d92689842b786d74d05d -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java (.../QaContentDAO.java) (revision 5fe2b3e8754297d2c9f5d92689842b786d74d05d) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java (.../QaContentDAO.java) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -61,14 +61,7 @@ return loadQaById(qaId); } - /* - public QaContent loadQaById(long qaId) - { - return (QaContent) this.getHibernateTemplate().get(QaContent.class, new Long(qaId)); - } - */ - public QaContent loadQaById(long qaId) { String query = "from QaContent as qa where qa.qaContentId = ?"; @@ -94,9 +87,9 @@ public void updateQa(QaContent qa) { - //this.getSession().setFlushMode(FlushMode.AUTO); + this.getSession().setFlushMode(FlushMode.AUTO); + logger.debug("before updateQa: " + qa); this.getHibernateTemplate().update(qa); - //this.getHibernateTemplate().saveOrUpdate(qa); } @@ -116,13 +109,16 @@ }); } + public void saveQa(QaContent qa) { this.getHibernateTemplate().save(qa); } public void createQa(QaContent qa) { + this.getSession().setFlushMode(FlushMode.AUTO); + logger.debug("before createQa: " + qa); this.getHibernateTemplate().save(qa); } @@ -139,9 +135,6 @@ } - - /** GETS CALLED BY CONTRACT - */ public void removeAllQaSession(QaContent qaContent){ this.getHibernateTemplate().deleteAll(qaContent.getQaSessions()); } @@ -176,6 +169,5 @@ { this.getHibernateTemplate().flush(); } - } \ No newline at end of file Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueContentDAO.java =================================================================== diff -u -r4cd6eb7c6c1ad1410dd33d854bd833f567d77acf -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueContentDAO.java (.../QaQueContentDAO.java) (revision 4cd6eb7c6c1ad1410dd33d854bd833f567d77acf) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueContentDAO.java (.../QaQueContentDAO.java) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -91,16 +91,11 @@ return listDefaultQuestionIds; } - /* - public QaQueContent getQaQueById(long qaQueContentId) - { - return (QaQueContent) this.getHibernateTemplate().load(QaQueContent.class, new Long(qaQueContentId)); - } - */ public void createQueContent(QaQueContent queContent) { this.getSession().setFlushMode(FlushMode.AUTO); + logger.debug("before createQueContent save: " + queContent); this.getHibernateTemplate().save(queContent); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java =================================================================== diff -u -r69f36134758d85e347893150aa05da3ba9479159 -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision 69f36134758d85e347893150aa05da3ba9479159) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -32,10 +32,10 @@ private static final String COUNT_SESSION_USER = "select qaQueUsr.queUsrId from QaQueUsr qaQueUsr where qaQueUsr.qaSessionId= :qaSession"; public QaQueUsr getQaUserByUID(Long uid) - { + { return (QaQueUsr) this.getHibernateTemplate() .get(QaQueUsr.class, uid); - } + } public int countSessionUser(QaSession qaSession) @@ -45,20 +45,8 @@ qaSession)).size(); } - - /* + public QaQueUsr getQaQueUsrById(long qaQueUsrId) - { - return (QaQueUsr) this.getHibernateTemplate().load(QaQueUsr.class, new Long(qaQueUsrId)); - } - - public QaQueUsr loadQaQueUsrById(long qaQueUsrId) - { - return (QaQueUsr) this.getHibernateTemplate().get(QaQueUsr.class, new Long(qaQueUsrId)); - } - */ - - public QaQueUsr getQaQueUsrById(long qaQueUsrId) { String query = "from QaQueUsr user where user.queUsrId=?"; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java =================================================================== diff -u -re4fa840a72a71bfd8608fbb2ac359e59832bf881 -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java (.../QaSessionDAO.java) (revision e4fa840a72a71bfd8608fbb2ac359e59832bf881) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java (.../QaSessionDAO.java) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -26,6 +26,7 @@ import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaSession; import org.lamsfoundation.lams.tool.qa.dao.IQaSessionDAO; +import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; @@ -71,12 +72,23 @@ */ public QaSession getQaSessionById(long qaSessionId) { - return (QaSession)this.getHibernateTemplate().load(QaSession.class,new Long(qaSessionId)); + String query = "from QaSession as qus where qus.qaSessionId = ?"; + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(query) + .setLong(0,qaSessionId) + .list(); + + if(list != null && list.size() > 0){ + QaSession qus = (QaSession) list.get(0); + return qus; + } + return null; } + public QaSession getQaSessionOrNullById(long qaSessionId) { - return (QaSession)this.getHibernateTemplate().get(QaSession.class,new Long(qaSessionId)); + return getQaSessionById(qaSessionId); } /** Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java =================================================================== diff -u -re4fa840a72a71bfd8608fbb2ac359e59832bf881 -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision e4fa840a72a71bfd8608fbb2ac359e59832bf881) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -49,7 +49,6 @@ public QaUsrResp retrieveQaUsrResp(long responseId) { - logger.debug(logger + " " + this.getClass().getName() + " " + "retrieveUserResponse called with: " + responseId); return (QaUsrResp) this.getHibernateTemplate().get(QaUsrResp.class, new Long(responseId)); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java =================================================================== diff -u -r5fe2b3e8754297d2c9f5d92689842b786d74d05d -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 5fe2b3e8754297d2c9f5d92689842b786d74d05d) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -146,7 +146,7 @@ } catch (DataAccessException e) { - throw new QaApplicationException("Exception occured when lams is loading qa content: " + throw new QaApplicationException("Exception occured when lams is creating qa content: " + e.getMessage(), e); } @@ -205,7 +205,10 @@ { try { + + logger.debug("attempt service createQaQue: " + qaQueContent); qaQueContentDAO.createQueContent(qaQueContent); + logger.debug("after servicecreateQaQue: " + qaQueContent); } catch (DataAccessException e) { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java =================================================================== diff -u -rf282bc57e46b420b718aa9d8b88711e246070a9b -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision f282bc57e46b420b718aa9d8b88711e246070a9b) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -8,35 +8,21 @@ import java.util.Date; import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; import java.util.Map; -import java.util.Set; import java.util.TreeMap; -import java.util.TreeSet; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaComparator; import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaQueContent; -import org.lamsfoundation.lams.tool.qa.QaUploadedFile; -import org.lamsfoundation.lams.tool.qa.QaUtils; import org.lamsfoundation.lams.tool.qa.service.IQaService; -import org.lamsfoundation.lams.tool.qa.service.QaServiceProxy; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import sun.tools.jar.resources.jar; - /** * * Keeps all operations needed for Authoring mode. @@ -483,6 +469,7 @@ //doesn't update files public QaContent saveOrUpdateQaContent(Map mapQuestionContent, IQaService qaService, QaAuthoringForm qaAuthoringForm){ + logger.debug("starting saveOrUpdateQaContent."); UserDTO toolUser = (UserDTO) SessionManager.getSession().getAttribute(AttributeNames.USER);//request.getSession().getAttribute(AttributeNames.USER); boolean isQuestionsSequenced=false; @@ -527,13 +514,20 @@ //qa.setQaSessions(new TreeSet()); //qa.setQaUploadedFiles(new TreeSet()); + logger.debug("before update or save: " + qa); if(qa.getQaContentId() == null){ qa.setQaContentId(new Long(qaAuthoringForm.getToolContentId())); + logger.debug("will create: " + qa); qaService.createQa(qa); } else + { + logger.debug("will update: " + qa); qaService.updateQa(qa); - + } + + logger.debug("before createQuestionContent: mapQuestionContent" + mapQuestionContent); + logger.debug("before createQuestionContent: qa" + qa); //recreate all question contents createQuestionContent(mapQuestionContent, qaService, qa); @@ -547,7 +541,8 @@ * persist the questions in the Map the user has submitted */ protected void createQuestionContent(Map mapQuestionContent, IQaService qaService, QaContent qaContent) - { + { + logger.debug("starting createQuestionContent: qaContent" + qaContent); Iterator itMap = mapQuestionContent.entrySet().iterator(); int diplayOrder=0; while (itMap.hasNext()) @@ -557,7 +552,10 @@ /*make sure question entered is NOT blank*/ if (pairs.getValue().toString().length() != 0) - { + { + logger.debug("starting createQuestionContent: pairs.getValue().toString():" + pairs.getValue().toString()); + logger.debug("starting createQuestionContent: qaContent: " + qaContent); + logger.debug("starting createQuestionContent: diplayOrder: " + diplayOrder); QaQueContent queContent= new QaQueContent(pairs.getValue().toString(), ++diplayOrder, qaContent, Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QAction.java =================================================================== diff -u -rf282bc57e46b420b718aa9d8b88711e246070a9b -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QAction.java (.../QAction.java) (revision f282bc57e46b420b718aa9d8b88711e246070a9b) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QAction.java (.../QAction.java) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -423,7 +423,9 @@ /*delete-recreate the questions in the db*/ authoringUtil.reconstructQuestionContentMapForSubmit(mapQuestionContent, request); - QaContent qaContent = authoringUtil.saveOrUpdateQaContent(mapQuestionContent, qaService, qaAuthoringForm); + logger.debug("before saveOrUpdateQaContent."); + QaContent qaContent = authoringUtil.saveOrUpdateQaContent(mapQuestionContent, qaService, qaAuthoringForm); + logger.debug("after saveOrUpdateQaContent."); saveAttachments(qaContent, attachmentList, deletedAttachmentList, mapping, request); Index: lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/QaQueContent.hbm.xml =================================================================== diff -u -re4fa840a72a71bfd8608fbb2ac359e59832bf881 -rd02bece7bdf9572cacaa891df7b0efceb3096ef5 --- lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/QaQueContent.hbm.xml (.../QaQueContent.hbm.xml) (revision e4fa840a72a71bfd8608fbb2ac359e59832bf881) +++ lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/QaQueContent.hbm.xml (.../QaQueContent.hbm.xml) (revision d02bece7bdf9572cacaa891df7b0efceb3096ef5) @@ -9,15 +9,16 @@ table="tl_laqa11_que_content" > - - - + + + - + + + + + + - - + +