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"
>
-
-
-
+
+
+
-
+
+
+
+
+
+
-
-
+
+