Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java,v diff -u -r1.12 -r1.13 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java 13 Jul 2005 03:12:28 -0000 1.12 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java 13 Jul 2005 04:50:38 -0000 1.13 @@ -139,7 +139,8 @@ public static final String USER_EXCEPTION_ONLYCONTENT_ANDNOSESSIONS ="userExceptionOnlyContentAndNoSessions"; public static final String USER_EXCEPTION_USERID_EXISTING ="userExceptionUserIdExisting"; public static final String USER_EXCEPTION_MONITORINGTAB_CONTENTID_REQUIRED ="userExceptionMonitoringTabContentIdRequired"; - public static final String USER_EXCEPTION_DEAFULTCONTENT_NOTSETUP ="userExceptionDefaultContentNotSetup"; + public static final String USER_EXCEPTION_DEFAULTCONTENT_NOTSETUP ="userExceptionDefaultContentNotSetup"; + public static final String USER_EXCEPTION_NO_TOOL_SESSIONS ="userExceptionNoToolSessions"; /** * export portfolio constants Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java,v diff -u -r1.6 -r1.7 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java 5 Jul 2005 07:09:46 -0000 1.6 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java 13 Jul 2005 04:50:38 -0000 1.7 @@ -321,7 +321,7 @@ questionIndex=questionIndex+1; logger.debug("current questionIndex: " + questionIndex); - String targetMode=(String )request.getSession().getAttribute(TARGET_MODE); + String targetMode=(String) request.getSession().getAttribute(TARGET_MODE); logger.debug("TARGET_MODE: " + targetMode); logger.debug("buidLearnerReport for TARGET_MODE: " + targetMode); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/Attic/MonitoringUtil.java,v diff -u -r1.3 -r1.4 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java 7 Jul 2005 07:14:12 -0000 1.3 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java 13 Jul 2005 04:50:38 -0000 1.4 @@ -45,7 +45,7 @@ logger.debug("retrieving qaContent: " + qaContent); /** - * iterate all the tool sessions, if even one session is INCOMPLETE, the functions returns false + * iterate all the tool sessions, if even one session is INCOMPLETE, the function returns false */ if (qaContent != null) { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/Attic/QaExportPortfolioStarterAction.java,v diff -u -r1.1 -r1.2 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java 13 Jul 2005 03:12:28 -0000 1.1 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java 13 Jul 2005 04:50:38 -0000 1.2 @@ -14,6 +14,9 @@ package org.lamsfoundation.lams.tool.qa.web; import java.io.IOException; +import java.util.ArrayList; +import java.util.Map; +import java.util.TreeMap; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -30,6 +33,8 @@ import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaApplicationException; +import org.lamsfoundation.lams.tool.qa.QaContent; +import org.lamsfoundation.lams.tool.qa.QaStringComparator; import org.lamsfoundation.lams.tool.qa.QaUtils; import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.tool.qa.service.QaServiceProxy; @@ -58,7 +63,7 @@ /** * mark the http session as an authoring activity */ - request.getSession().setAttribute(TARGET_MODE,TARGET_MODE_EXPORT_PORTFOLIO); + //request.getSession().setAttribute(TARGET_MODE,TARGET_MODE_EXPORT_PORTFOLIO); /** * obtain and setup the current user's data @@ -91,7 +96,6 @@ } logger.debug("TOOL_USER is:" + request.getSession().getAttribute(TOOL_USER)); - String mode=""; mode=request.getParameter(MODE); logger.debug("mode: " + mode); @@ -114,6 +118,7 @@ logger.debug("forwarding to: " + PORTFOLIO_REPORT); return (mapping.findForward(PORTFOLIO_REPORT)); } + request.getSession().setAttribute(MODE,mode); String strToolSessionId=""; Long toolSessionId=null; @@ -187,6 +192,68 @@ } } + /** + at this point we have session attributes TOOL_CONTENT_ID, TOOL_SESSION_ID and TOOL_USER AND MODE ready to use + */ + + mode=(String)request.getSession().getAttribute(MODE); + logger.debug("mode is: " + mode); + + toolContentId=(Long)request.getSession().getAttribute(TOOL_CONTENT_ID); + logger.debug("toolContentId: " + toolContentId); + + toolSessionId=(Long)request.getSession().getAttribute(TOOL_SESSION_ID); + logger.debug("toolSessionId: " + toolSessionId); + + int toolSessionCount=0; + ArrayList toolSessions = new ArrayList(); + if (mode.equalsIgnoreCase(LEARNER)) + { + request.getSession().setAttribute(TARGET_MODE, TARGET_MODE_LEARNING); + logger.debug("generate portfolio for mode: " + mode); + ArrayList singleToolSession= new ArrayList(); + singleToolSession.add(toolSessionId); + logger.debug("singleToolSession: " + singleToolSession); + toolSessions=singleToolSession; + logger.debug("toolSessions: " + toolSessions); + toolSessionCount=1; + } + else + { + request.getSession().setAttribute(TARGET_MODE, TARGET_MODE_MONITORING); + logger.debug("generate portfolio for mode: " + mode); + /** we already know that this content exists in the db */ + QaContent qa=qaService.loadQa(toolContentId.longValue()); + logger.debug("qa: " + qa); + toolSessions= (ArrayList)qaService.getToolSessionsForContent(qa); + logger.debug("toolSessions: " + toolSessions); + toolSessionCount=toolSessions.size(); + } + logger.debug("final toolSessions: " + toolSessions); + logger.debug("toolSessionCount: " + toolSessionCount); + + if (toolSessionCount == 0) + { + persistError(request,"error.content.noToolSessions"); + request.setAttribute(USER_EXCEPTION_NO_TOOL_SESSIONS, new Boolean(true)); + logger.debug("forwarding to: " + PORTFOLIO_REPORT); + return (mapping.findForward(PORTFOLIO_REPORT)); + } + + Map mapToolSessions= new TreeMap(new QaStringComparator()); + request.getSession().setAttribute(MAP_TOOL_SESSIONS,mapToolSessions); + LearningUtil learningUtil= new LearningUtil(); + for (int toolSessionIdIndex=1; toolSessionIdIndex <= toolSessionCount; toolSessionIdIndex++) + { + logger.debug("toolSessionIdIndex: " + toolSessionIdIndex); + Long currentToolSession=(Long)toolSessions.get(toolSessionIdIndex); + logger.debug("current currentToolSession: " + currentToolSession); + request.getSession().setAttribute(TOOL_SESSION_ID, currentToolSession); + + learningUtil.buidLearnerReport(request, toolSessionIdIndex); + } + + return (mapping.findForward(PORTFOLIO_REPORT)); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java,v diff -u -r1.6 -r1.7 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java 7 Jul 2005 07:14:12 -0000 1.6 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java 13 Jul 2005 04:50:38 -0000 1.7 @@ -136,7 +136,6 @@ { if ((toolContentId != null) && (toolContentId.length() > 0)) { - logger.debug("Since TOOL_CONTENT_ID has been passed explicitly we will refer to that one instead of the one derived from tool sessions"); if (!QaUtils.existsContent(new Long(toolContentId).longValue(), request)) { persistError(request,"error.content.doesNotExist"); @@ -185,49 +184,6 @@ * this block of code will normally never run! */ logger.debug("Warning! We are not supposed to reach here!"); - /* - logger.debug(logger + "found sessions: isOnlyContentIdAvailable: " + isOnlyContentIdAvailable); - if ((toolContentId != null) && (toolContentId.length() > 0)) - { - boolean isToolSessionCompatibleToContent=isToolSessionCompatibleToContent(new Long(toolContentId), request); - logger.debug(logger + "isToolSessionCompatibleToContent: " + isToolSessionCompatibleToContent); - if (!isToolSessionCompatibleToContent) - { - persistError(request,"error.contentAndToolSession.notCompatible"); - request.setAttribute(USER_EXCEPTION_UNCOMPATIBLE_IDS, new Boolean(true)); - logger.debug(logger + " " + this.getClass().getName() + "forwarding to: " + MONITORING_ERROR); - return (mapping.findForward(MONITORING_REPORT)); - } - } - - Boolean userExceptionNumberFormat=(Boolean)request.getAttribute(USER_EXCEPTION_NUMBERFORMAT); - logger.debug(logger + "userExceptionNumberFormat: " + userExceptionNumberFormat); - if ((userExceptionNumberFormat != null) && (userExceptionNumberFormat.booleanValue())) - { - persistError(request,"error.numberFormatException"); - logger.debug(logger + " " + this.getClass().getName() + "forwarding to: " + MONITORING_ERROR); - return (mapping.findForward(MONITORING_REPORT)); - } - - Boolean userExceptionWrongFormat=(Boolean)request.getAttribute(USER_EXCEPTION_WRONG_FORMAT); - logger.debug(logger + "userExceptionWrongFormat: " + userExceptionWrongFormat); - if ((userExceptionWrongFormat != null) && (userExceptionWrongFormat.booleanValue())) - { - persistError(request,"error.toolSessions.wrongFormat"); - logger.debug(logger + " " + this.getClass().getName() + "forwarding to: " + MONITORING_ERROR); - return (mapping.findForward(MONITORING_REPORT)); - } - - Boolean userExceptionToolSessionDoesNotExist=(Boolean)request.getAttribute(USER_EXCEPTION_TOOLSESSION_DOESNOTEXIST); - logger.debug(logger + "userExceptionToolSessionDoesNotExist: " + userExceptionToolSessionDoesNotExist); - if ((userExceptionToolSessionDoesNotExist != null) && (userExceptionToolSessionDoesNotExist.booleanValue())) - { - persistError(request,"error.toolSessions.doesNotExist"); - logger.debug(logger + " " + this.getClass().getName() + "forwarding to: " + MONITORING_ERROR); - return (mapping.findForward(MONITORING_REPORT)); - } - qaMonitoringForm.setSummary("summary"); - */ } else { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java,v diff -u -r1.11 -r1.12 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java 8 Jul 2005 04:06:28 -0000 1.11 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java 13 Jul 2005 04:50:38 -0000 1.12 @@ -133,15 +133,15 @@ { logger.debug("default content id has not been setup"); persistError(request,"error.defaultContent.notSetup"); - request.setAttribute(USER_EXCEPTION_DEAFULTCONTENT_NOTSETUP, new Boolean(true)); + request.setAttribute(USER_EXCEPTION_DEFAULTCONTENT_NOTSETUP, new Boolean(true)); return (mapping.findForward(LOAD_QUESTIONS)); } } catch(Exception e) { logger.debug("error getting the default content id: " + e.getMessage()); persistError(request,"error.defaultContent.notSetup"); - request.setAttribute(USER_EXCEPTION_DEAFULTCONTENT_NOTSETUP, new Boolean(true)); + request.setAttribute(USER_EXCEPTION_DEFAULTCONTENT_NOTSETUP, new Boolean(true)); return (mapping.findForward(LOAD_QUESTIONS)); }