Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java =================================================================== diff -u -r183fd9b105d8f11b7ab038be49e542499d28b970 -r4b2168747488f90476c92c1746fc31cd4b425f20 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java (.../QaAppConstants.java) (revision 183fd9b105d8f11b7ab038be49e542499d28b970) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java (.../QaAppConstants.java) (revision 4b2168747488f90476c92c1746fc31cd4b425f20) @@ -150,6 +150,7 @@ public static final String TEACHER ="teacher"; public static final String USER_EXCEPTION_MODE_REQUIRED ="userExceptionModeRequired"; public static final String PORTFOLIO_REPORT ="portfolioReport"; + public static final int MAX_GROUPS_COUNT =100; /** * user actions Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java =================================================================== diff -u -r183fd9b105d8f11b7ab038be49e542499d28b970 -r4b2168747488f90476c92c1746fc31cd4b425f20 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java (.../QaExportPortfolioStarterAction.java) (revision 183fd9b105d8f11b7ab038be49e542499d28b970) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java (.../QaExportPortfolioStarterAction.java) (revision 4b2168747488f90476c92c1746fc31cd4b425f20) @@ -15,6 +15,8 @@ package org.lamsfoundation.lams.tool.qa.web; import java.io.IOException; import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -205,34 +207,27 @@ toolSessionId=(Long)request.getSession().getAttribute(TOOL_SESSION_ID); logger.debug("toolSessionId: " + toolSessionId); - int toolSessionCount=0; - ArrayList toolSessions = new ArrayList(); + List listToolSessions=null; 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; + request.getSession().setAttribute(TARGET_MODE, TARGET_MODE_LEARNING); + listToolSessions.add(1, toolSessionId); + logger.debug("listToolSessions: " + listToolSessions); } else { - request.getSession().setAttribute(TARGET_MODE, TARGET_MODE_MONITORING); logger.debug("generate portfolio for mode: " + mode); + request.getSession().setAttribute(TARGET_MODE, TARGET_MODE_MONITORING); + /** 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(); + listToolSessions= qaService.getToolSessionsForContent(qa); + logger.debug("listToolSessions: " + listToolSessions); } - logger.debug("final toolSessions: " + toolSessions); - logger.debug("toolSessionCount: " + toolSessionCount); - if (toolSessionCount == 0) + if (listToolSessions.size() == 0) { persistError(request,"error.content.noToolSessions"); request.setAttribute(USER_EXCEPTION_NO_TOOL_SESSIONS, new Boolean(true)); @@ -243,17 +238,18 @@ Map mapToolSessions= new TreeMap(new QaStringComparator()); request.getSession().setAttribute(MAP_TOOL_SESSIONS,mapToolSessions); LearningUtil learningUtil= new LearningUtil(); - for (int toolSessionIdIndex=1; toolSessionIdIndex <= toolSessionCount; toolSessionIdIndex++) + + Iterator sessionListIterator=listToolSessions.iterator(); + int toolSessionCounter=1; + while (sessionListIterator.hasNext()) { - 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); + toolSessionId=(Long)sessionListIterator.next(); + logger.debug("toolSessionId: " + toolSessionId); + request.getSession().setAttribute(TOOL_SESSION_ID, toolSessionId); + learningUtil.buidLearnerReport(request, toolSessionCounter); + toolSessionCounter++; } - return (mapping.findForward(PORTFOLIO_REPORT)); }