Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java
===================================================================
diff -u -rbb041188ecb180ae9cd8e01428c8f431aa89bd93 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java (.../IQaQueUsrDAO.java) (revision bb041188ecb180ae9cd8e01428c8f431aa89bd93)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java (.../IQaQueUsrDAO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -21,6 +21,8 @@
* ***********************************************************************/
package org.lamsfoundation.lams.tool.qa.dao;
+import java.util.List;
+
import org.lamsfoundation.lams.tool.qa.QaQueUsr;
import org.lamsfoundation.lams.tool.qa.QaSession;
@@ -45,4 +47,6 @@
public int countSessionUser(QaSession qaSession);
public int getTotalNumberOfUsers();
+
+ public List getUserBySessionOnly(final QaSession qaSession);
}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java
===================================================================
diff -u -rf2b7c28c53bfee9c676b5a836e42b71e0e1bf20f -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java (.../IQaUsrRespDAO.java) (revision f2b7c28c53bfee9c676b5a836e42b71e0e1bf20f)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java (.../IQaUsrRespDAO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -21,6 +21,8 @@
* ***********************************************************************/
package org.lamsfoundation.lams.tool.qa.dao;
+import java.util.List;
+
import org.lamsfoundation.lams.tool.qa.QaUsrResp;
@@ -42,6 +44,8 @@
public void removeUserResponseByQaQueId(Long qaQueId);
public QaUsrResp retrieveQaUsrResp(long responseId);
+
+ public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId);
}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java
===================================================================
diff -u -rbb041188ecb180ae9cd8e01428c8f431aa89bd93 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision bb041188ecb180ae9cd8e01428c8f431aa89bd93)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -44,6 +44,7 @@
static Logger logger = Logger.getLogger(QaQueUsrDAO.class.getName());
private static final String COUNT_SESSION_USER = "select qaQueUsr.queUsrId from QaQueUsr qaQueUsr where qaQueUsr.qaSessionId= :qaSession";
+ private static final String LOAD_USER_FOR_SESSION = "from qaQueUsr in class QaQueUsr where qaQueUsr.qaSessionId= :qaSessionId";
public QaQueUsr getQaUserByUID(Long uid)
{
@@ -75,8 +76,18 @@
}
return null;
}
+
+ public List getUserBySessionOnly(final QaSession qaSession)
+ {
+ HibernateTemplate templ = this.getHibernateTemplate();
+ List list = getSession().createQuery(LOAD_USER_FOR_SESSION)
+ .setLong("qaSessionId", qaSession.getUid().longValue())
+ .list();
+ return list;
+ }
+
public QaQueUsr loadQaQueUsrById(long qaQueUsrId)
{
return getQaQueUsrById(qaQueUsrId);
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java
===================================================================
diff -u -rf2b7c28c53bfee9c676b5a836e42b71e0e1bf20f -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision f2b7c28c53bfee9c676b5a836e42b71e0e1bf20f)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -21,10 +21,13 @@
* ***********************************************************************/
package org.lamsfoundation.lams.tool.qa.dao.hibernate;
+import java.util.List;
+
import org.hibernate.FlushMode;
import org.lamsfoundation.lams.tool.qa.QaQueUsr;
import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO;
+import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
@@ -35,6 +38,7 @@
*/
public class QaUsrRespDAO extends HibernateDaoSupport implements IQaUsrRespDAO
{
+ private static final String LOAD_ATTEMPT_FOR_USER_AND_QUESTION_CONTENT = "from qaUsrResp in class QaUsrResp where qaUsrResp.queUsrId=:queUsrId and qaUsrResp.qaQueContentId=:qaQueContentId";
public QaQueUsr getUserById(long userId)
{
@@ -78,6 +82,16 @@
this.getHibernateTemplate().delete(resp);
}
+ public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId)
+ {
+ HibernateTemplate templ = this.getHibernateTemplate();
+ List list = getSession().createQuery(LOAD_ATTEMPT_FOR_USER_AND_QUESTION_CONTENT)
+ .setLong("queUsrId", queUsrId.longValue())
+ .setLong("qaQueContentId", qaQueContentId.longValue())
+ .list();
+
+ return list;
+ }
public void removeUserResponseByQaQueId(Long qaQueId)
{
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java
===================================================================
diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -79,6 +79,8 @@
public QaQueContent retrieveQaQue(long qaQueContentId);
public QaQueUsr loadQaQueUsr(Long userId);
+
+ public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId);
public void createQaQue(QaQueContent qaQueContent);
@@ -142,6 +144,8 @@
public User getCurrentUserData(String username);
+ public List getUserBySessionOnly(final QaSession qaSession);
+
/**
*
* copyToolContent(Long fromContentId, Long toContentId)
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java
===================================================================
diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -321,10 +321,38 @@
+ e.getMessage(),
e);
}
-
}
+ public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId) throws QaApplicationException
+ {
+ try
+ {
+ return qaUsrRespDAO.getAttemptsForUserAndQuestionContent(queUsrId, qaQueContentId);
+ }
+ catch (DataAccessException e)
+ {
+ throw new QaApplicationException("Exception occured when lams is getting qa qaUsrRespDAO by user id and que content id: "
+ + e.getMessage(),
+ e);
+ }
+ }
+
+ public List getUserBySessionOnly(final QaSession qaSession) throws QaApplicationException
+ {
+ try
+ {
+ return qaQueUsrDAO.getUserBySessionOnly(qaSession);
+ }
+ catch (DataAccessException e)
+ {
+ throw new QaApplicationException("Exception occured when lams is getting qa QueUsr by qa session "
+ + e.getMessage(),
+ e);
+ }
+ }
+
+
public void createQaUsrResp(QaUsrResp qaUsrResp) throws QaApplicationException
{
try
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java
===================================================================
diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -25,16 +25,19 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.TreeMap;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
-import org.apache.struts.action.ActionForm;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
import org.lamsfoundation.lams.tool.qa.QaContent;
import org.lamsfoundation.lams.tool.qa.QaMonitoredAnswersDTO;
+import org.lamsfoundation.lams.tool.qa.QaMonitoredUserDTO;
import org.lamsfoundation.lams.tool.qa.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.QaQueUsr;
import org.lamsfoundation.lams.tool.qa.QaSession;
+import org.lamsfoundation.lams.tool.qa.QaStringComparator;
import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.QaUtils;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
@@ -252,15 +255,149 @@
qaMonitoredAnswersDTO.setQuestionUid(qaQueContent.getUid().toString());
qaMonitoredAnswersDTO.setQuestion(qaQueContent.getQuestion());
- //Map questionAttemptData= buildGroupsAttemptData(request, qaContent, qaQueContent, qaQueContent.getUid().toString());
- //logger.debug("questionAttemptData:..." + questionAttemptData);
- //qaMonitoredAnswersDTO.setQuestionAttempts(questionAttemptData);
+ Map questionAttemptData= buildGroupsAttemptData(request, qaContent, qaQueContent, qaQueContent.getUid().toString());
+ logger.debug("questionAttemptData:..." + questionAttemptData);
+ qaMonitoredAnswersDTO.setQuestionAttempts(questionAttemptData);
listMonitoredAnswersContainerDTO.add(qaMonitoredAnswersDTO);
}
}
logger.debug("final listMonitoredAnswersContainerDTO:..." + listMonitoredAnswersContainerDTO);
return listMonitoredAnswersContainerDTO;
}
+
+
+ public static Map buildGroupsAttemptData(HttpServletRequest request, QaContent qaContent, QaQueContent qaQueContent, String questionUid)
+ {
+ logger.debug("doing buildGroupsAttemptData...");
+ IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE);
+ logger.debug("qaService: " + qaService);
+
+ Map mapMonitoredAttemptsContainerDTO= new TreeMap(new QaStringComparator());
+ List listMonitoredAttemptsContainerDTO= new LinkedList();
+
+ Map summaryToolSessions=populateToolSessionsId(request, qaContent, qaService);
+ logger.debug("summaryToolSessions: " + summaryToolSessions);
+
+ Iterator itMap = summaryToolSessions.entrySet().iterator();
+ while (itMap.hasNext())
+ {
+ Map.Entry pairs = (Map.Entry)itMap.next();
+ logger.debug("using the summary tool sessions pair: " + pairs.getKey() + " = " + pairs.getValue());
+
+ if (!(pairs.getValue().toString().equals("None")) && !(pairs.getValue().toString().equals("All")))
+ {
+ logger.debug("using the numerical summary tool sessions pair: " + " = " + pairs.getValue());
+ QaSession qaSession= qaService.retrieveQaSession(new Long(pairs.getValue().toString()).longValue());
+ logger.debug("qaSession: " + " = " + qaSession);
+ if (qaSession != null)
+ {
+ List listUsers=qaService.getUserBySessionOnly(qaSession);
+ logger.debug("listMcUsers for session id:" + qaSession.getQaSessionId() + " = " + listUsers);
+ Map sessionUsersAttempts=populateSessionUsersAttempts(request,qaSession.getQaSessionId(), listUsers, questionUid);
+ listMonitoredAttemptsContainerDTO.add(sessionUsersAttempts);
+ }
+ }
+ }
+
+ logger.debug("final listMonitoredAttemptsContainerDTO:..." + listMonitoredAttemptsContainerDTO);
+ mapMonitoredAttemptsContainerDTO=convertToMap(listMonitoredAttemptsContainerDTO);
+ logger.debug("final mapMonitoredAttemptsContainerDTO:..." + mapMonitoredAttemptsContainerDTO);
+ return mapMonitoredAttemptsContainerDTO;
+ }
+
+
+ /**
+ * ends up populating all the user's attempt data of a particular tool session
+ * populateSessionUsersAttempts(HttpServletRequest request,List listUsers)
+ *
+ * @param request
+ * @param listUsers
+ * @return List
+ */
+ public static Map populateSessionUsersAttempts(HttpServletRequest request,Long sessionId, List listUsers, String questionUid)
+ {
+ logger.debug("doing populateSessionUsersAttempts...");
+ IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE);
+ logger.debug("qaService: " + qaService);
+
+ Map mapMonitoredUserContainerDTO= new TreeMap(new QaStringComparator());
+ List listMonitoredUserContainerDTO= new LinkedList();
+
+ Iterator itUsers=listUsers.iterator();
+ while (itUsers.hasNext())
+ {
+ QaQueUsr qaQueUsr=(QaQueUsr)itUsers.next();
+ logger.debug("qaQueUsr: " + qaQueUsr);
+
+ if (qaQueUsr != null)
+ {
+ logger.debug("getting listUserAttempts for user id: " + qaQueUsr.getUid() + " and que content id: " + questionUid);
+ List listUserAttempts=qaService.getAttemptsForUserAndQuestionContent(qaQueUsr.getUid(), new Long(questionUid));
+ logger.debug("listUserAttempts: " + listUserAttempts);
+
+ Iterator itAttempts=listUserAttempts.iterator();
+ while (itAttempts.hasNext())
+ {
+ QaUsrResp qaUsrResp=(QaUsrResp)itAttempts.next();
+ logger.debug("qaUsrResp: " + qaUsrResp);
+
+ if (qaUsrResp != null)
+ {
+ QaMonitoredUserDTO qaMonitoredUserDTO = new QaMonitoredUserDTO();
+ qaMonitoredUserDTO.setAttemptTime(qaUsrResp.getAttemptTime().toString());
+ qaMonitoredUserDTO.setTimeZone(qaUsrResp.getTimezone());
+ qaMonitoredUserDTO.setUid(qaUsrResp.getResponseId().toString());
+ qaMonitoredUserDTO.setUserName(qaQueUsr.getUsername());
+ qaMonitoredUserDTO.setQueUsrId(qaQueUsr.getUid().toString());
+ qaMonitoredUserDTO.setSessionId(sessionId.toString());
+ qaMonitoredUserDTO.setResponse(qaUsrResp.getAnswer());
+ qaMonitoredUserDTO.setQuestionUid(questionUid);
+ listMonitoredUserContainerDTO.add(qaMonitoredUserDTO);
+ }
+ }
+ }
+ }
+ logger.debug("final listMonitoredUserContainerDTO: " + listMonitoredUserContainerDTO);
+ mapMonitoredUserContainerDTO=convertToMcMonitoredUserDTOMap(listMonitoredUserContainerDTO);
+ logger.debug("final mapMonitoredUserContainerDTO:..." + mapMonitoredUserContainerDTO);
+ return mapMonitoredUserContainerDTO;
+ }
+
+ public static Map convertToMcMonitoredUserDTOMap(List list)
+ {
+ logger.debug("using convertToQaMonitoredUserDTOMap: " + list);
+ Map map= new TreeMap(new QaStringComparator());
+
+ Iterator listIterator=list.iterator();
+ Long mapIndex=new Long(1);
+
+ while (listIterator.hasNext())
+ {
+ QaMonitoredUserDTO data=(QaMonitoredUserDTO)listIterator.next();
+ map.put(mapIndex.toString(), data);
+ mapIndex=new Long(mapIndex.longValue()+1);
+ }
+ return map;
+ }
+
+
+ public static Map convertToMap(List list)
+ {
+ logger.debug("using convertToMap: " + list);
+ Map map= new TreeMap(new QaStringComparator());
+
+ Iterator listIterator=list.iterator();
+ Long mapIndex=new Long(1);
+
+ while (listIterator.hasNext())
+ {
+ Map data=(Map)listIterator.next();
+ map.put(mapIndex.toString(), data);
+ mapIndex=new Long(mapIndex.longValue()+1);
+ }
+ return map;
+ }
}
+
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java
===================================================================
diff -u -rf81218072afa2e0748b1223fbed3b5b4d0018c87 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java (.../QaMonitoringAction.java) (revision f81218072afa2e0748b1223fbed3b5b4d0018c87)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java (.../QaMonitoringAction.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -26,6 +26,7 @@
package org.lamsfoundation.lams.tool.qa.web;
import java.io.IOException;
+import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
@@ -42,6 +43,7 @@
import org.lamsfoundation.lams.tool.exception.ToolException;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
import org.lamsfoundation.lams.tool.qa.QaContent;
+import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
import org.lamsfoundation.lams.web.action.LamsDispatchAction;
import org.lamsfoundation.lams.web.util.AttributeNames;
@@ -84,6 +86,7 @@
ServletException
{
logger.debug("dispatching getStats..." + request);
+ request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false));
request.getSession().setAttribute(CURRENT_MONITORING_TAB, "stats");
return (mapping.findForward(LOAD_MONITORING));
@@ -113,6 +116,7 @@
ServletException
{
logger.debug("dispatching getInstructions..." + request);
+ request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false));
request.getSession().setAttribute(CURRENT_MONITORING_TAB, "instructions");
return (mapping.findForward(LOAD_MONITORING));
@@ -142,6 +146,7 @@
ServletException
{
logger.debug("dispatching getSummary..." + request);
+ request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false));
IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE);
logger.debug("qaService: " + qaService);
@@ -192,6 +197,7 @@
ServletException
{
logger.debug("dispatching submitSession...");
+ request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false));
QaMonitoringForm qaMonitoringForm = (QaMonitoringForm) form;
String currentMonitoredToolSession=qaMonitoringForm.getSelectedToolSessionId();
@@ -216,6 +222,105 @@
}
+ public ActionForward editResponse(ActionMapping mapping,
+ ActionForm form,
+ HttpServletRequest request,
+ HttpServletResponse response) throws IOException,
+ ServletException
+ {
+ logger.debug("dispatching editResponse...");
+
+ QaMonitoringForm qaMonitoringForm = (QaMonitoringForm) form;
+
+ String responseId=qaMonitoringForm.getResponseId();
+ logger.debug("responseId: " + responseId);
+ request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(true));
+ request.getSession().setAttribute(EDITABLE_RESPONSE_ID, responseId);
+
+ refreshUserInput(request);
+
+ return (mapping.findForward(LOAD_MONITORING));
+ }
+
+
+ public ActionForward updateResponse(ActionMapping mapping,
+ ActionForm form,
+ HttpServletRequest request,
+ HttpServletResponse response) throws IOException,
+ ServletException
+ {
+ logger.debug("dispatching updateResponse...");
+
+ IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE);
+ logger.debug("qaService: " + qaService);
+
+ QaMonitoringForm qaMonitoringForm = (QaMonitoringForm) form;
+
+ String responseId=qaMonitoringForm.getResponseId();
+ logger.debug("responseId: " + responseId);
+
+ String updatedResponse=request.getParameter("updatedResponse");
+ logger.debug("updatedResponse: " + updatedResponse);
+ QaUsrResp qaUsrResp= qaService.retrieveQaUsrResp(new Long(responseId).longValue());
+ logger.debug("qaUsrResp: " + qaUsrResp);
+ qaUsrResp.setAnswer(updatedResponse);
+ qaService.updateQaUsrResp(qaUsrResp);
+ logger.debug("response updated.");
+
+ request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false));
+
+ refreshUserInput(request);
+ return (mapping.findForward(LOAD_MONITORING));
+ }
+
+
+ public ActionForward deleteResponse(ActionMapping mapping,
+ ActionForm form,
+ HttpServletRequest request,
+ HttpServletResponse response) throws IOException,
+ ServletException
+ {
+ logger.debug("dispatching deleteResponse...");
+ request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false));
+
+ IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE);
+ logger.debug("qaService: " + qaService);
+
+ QaMonitoringForm qaMonitoringForm = (QaMonitoringForm) form;
+
+ String responseId=qaMonitoringForm.getResponseId();
+ logger.debug("responseId: " + responseId);
+
+ QaUsrResp qaUsrResp= qaService.retrieveQaUsrResp(new Long(responseId).longValue());
+ logger.debug("qaUsrResp: " + qaUsrResp);
+
+ qaService.removeUserResponse(qaUsrResp);
+ logger.debug("response deleted.");
+
+ logger.debug("CURRENT_MONITORED_TOOL_SESSION: " + request.getSession().getAttribute(CURRENT_MONITORED_TOOL_SESSION));
+
+ refreshUserInput(request);
+ return (mapping.findForward(LOAD_MONITORING));
+ }
+
+
+ public void refreshUserInput(HttpServletRequest request)
+ {
+ IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE);
+ logger.debug("qaService: " + qaService);
+
+ Long toolContentId =(Long) request.getSession().getAttribute(TOOL_CONTENT_ID);
+ logger.debug("toolContentId: " + toolContentId);
+
+ QaContent qaContent=qaService.loadQa(toolContentId.longValue());
+ logger.debug("existing qaContent:" + qaContent);
+
+ List listMonitoredAnswersContainerDTO=MonitoringUtil.buildGroupsQuestionData(request, qaContent);
+ request.getSession().setAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO, listMonitoredAnswersContainerDTO);
+ logger.debug("LIST_MONITORED_ANSWERS_CONTAINER_DTO: " + request.getSession().getAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO));
+ }
+
+
/**
* persists error messages to request scope
* persistError(HttpServletRequest request, String message)
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringForm.java
===================================================================
diff -u -rf81218072afa2e0748b1223fbed3b5b4d0018c87 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringForm.java (.../QaMonitoringForm.java) (revision f81218072afa2e0748b1223fbed3b5b4d0018c87)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringForm.java (.../QaMonitoringForm.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -34,6 +34,8 @@
public class QaMonitoringForm extends ActionForm implements QaAppConstants {
// controls which method is called by the Lookup map */
protected String method;
+
+ protected String responseId;
protected String selectedToolSessionId;
@@ -76,4 +78,17 @@
public void setMethod(String method) {
this.method = method;
}
+
+ /**
+ * @return Returns the responseId.
+ */
+ public String getResponseId() {
+ return responseId;
+ }
+ /**
+ * @param responseId The responseId to set.
+ */
+ public void setResponseId(String responseId) {
+ this.responseId = responseId;
+ }
}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java
===================================================================
diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -77,6 +77,7 @@
request.getSession().setAttribute(TOOL_SERVICE, qaService);
request.getSession().setAttribute(CURRENT_MONITORING_TAB, "summary");
+ request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false));
/*
* persist time zone information to session scope.
Index: lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp
===================================================================
diff -u -rf81218072afa2e0748b1223fbed3b5b4d0018c87 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp (.../MonitoringMaincontent.jsp) (revision f81218072afa2e0748b1223fbed3b5b4d0018c87)
+++ lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp (.../MonitoringMaincontent.jsp) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -62,6 +62,12 @@
submitMethod(actionMethod);
}
+ function submitEditResponse(responseId, actionMethod)
+ {
+ document.QaMonitoringForm.responseId.value=responseId;
+ submitMethod(actionMethod);
+ }
+
function submitMethod(actionMethod)
{
submitMonitoringMethod(actionMethod);
Index: lams_tool_laqa/web/monitoring/SummaryContent.jsp
===================================================================
diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231
--- lams_tool_laqa/web/monitoring/SummaryContent.jsp (.../SummaryContent.jsp) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0)
+++ lams_tool_laqa/web/monitoring/SummaryContent.jsp (.../SummaryContent.jsp) (revision 4beb496ffd830646c5752e770f04ca60e56ef231)
@@ -30,6 +30,12 @@