Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/ScratchieSessionDAO.java =================================================================== diff -u -r6aaee4b2fe2caa08b0c63a0de11f05042d5a3e18 -reb056585fef20d548c58cf015845317c7aae33c0 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/ScratchieSessionDAO.java (.../ScratchieSessionDAO.java) (revision 6aaee4b2fe2caa08b0c63a0de11f05042d5a3e18) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/ScratchieSessionDAO.java (.../ScratchieSessionDAO.java) (revision eb056585fef20d548c58cf015845317c7aae33c0) @@ -31,6 +31,12 @@ ScratchieSession getSessionBySessionId(Long sessionId); + /** + * Returns list of sessions sorted alphanumerically (that is taking into account Group 1, Group 2, Group 10 case). + * + * @param toolContentId + * @return + */ List getByContentId(Long toolContentId); void delete(ScratchieSession session); Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/hibernate/ScratchieSessionDAOHibernate.java =================================================================== diff -u -re82b521a73a2c3aceaf998722ac4def76618ba9a -reb056585fef20d548c58cf015845317c7aae33c0 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/hibernate/ScratchieSessionDAOHibernate.java (.../ScratchieSessionDAOHibernate.java) (revision e82b521a73a2c3aceaf998722ac4def76618ba9a) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/hibernate/ScratchieSessionDAOHibernate.java (.../ScratchieSessionDAOHibernate.java) (revision eb056585fef20d548c58cf015845317c7aae33c0) @@ -23,10 +23,14 @@ /* $$Id$$ */ package org.lamsfoundation.lams.tool.scratchie.dao.hibernate; +import java.util.ArrayList; import java.util.List; +import java.util.Set; +import java.util.TreeSet; import org.lamsfoundation.lams.tool.scratchie.dao.ScratchieSessionDAO; import org.lamsfoundation.lams.tool.scratchie.model.ScratchieSession; +import org.lamsfoundation.lams.tool.scratchie.util.ScratchieSessionComparator; public class ScratchieSessionDAOHibernate extends BaseDAOHibernate implements ScratchieSessionDAO { @@ -43,7 +47,12 @@ } public List getByContentId(Long toolContentId) { - return getHibernateTemplate().find(FIND_BY_CONTENT_ID, toolContentId); + List sessions = getHibernateTemplate().find(FIND_BY_CONTENT_ID, toolContentId); + + Set sortedSessions = new TreeSet(new ScratchieSessionComparator()); + sortedSessions.addAll(sessions); + + return new ArrayList(sortedSessions); } public void delete(ScratchieSession session) { Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java =================================================================== diff -u -r2b850f5ba5fdab4d0b421ea1ccb0c80cf91d1445 -reb056585fef20d548c58cf015845317c7aae33c0 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 2b850f5ba5fdab4d0b421ea1ccb0c80cf91d1445) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision eb056585fef20d548c58cf015845317c7aae33c0) @@ -90,6 +90,7 @@ import org.lamsfoundation.lams.tool.scratchie.model.ScratchieUser; import org.lamsfoundation.lams.tool.scratchie.util.ScratchieAnswerComparator; import org.lamsfoundation.lams.tool.scratchie.util.ScratchieItemComparator; +import org.lamsfoundation.lams.tool.scratchie.util.ScratchieSessionComparator; import org.lamsfoundation.lams.tool.scratchie.util.ScratchieToolContentHandler; import org.lamsfoundation.lams.tool.scratchie.web.action.LearningAction; import org.lamsfoundation.lams.tool.service.ILamsToolService; @@ -527,9 +528,9 @@ @Override public List getMonitoringSummary(Long contentId, boolean isIncludeOnlyLeaders) { List groupSummaryList = new ArrayList(); - List sessionList = scratchieSessionDao.getByContentId(contentId); + List sessions = scratchieSessionDao.getByContentId(contentId); - for (ScratchieSession session : sessionList) { + for (ScratchieSession session : sessions) { Long sessionId = session.getSessionId(); // one new summary for one session. @@ -937,13 +938,12 @@ row[columnCount++] = new ExcelCell(getMessage("label.total") + " %", true); rowList.add(row); - int groupCount = 1; List summaryByTeam = getSummaryByTeam(scratchie, items); for (GroupSummary summary : summaryByTeam) { row = new ExcelCell[numberOfItems + 4]; columnCount = 1; - row[columnCount++] = new ExcelCell("T" + groupCount++, true); + row[columnCount++] = new ExcelCell(summary.getSessionName(), true); int numberOfFirstChoiceEvents = 0; for (ScratchieItem item : summary.getItems()) { @@ -1019,13 +1019,13 @@ row[0] = new ExcelCell(getMessage("monitoring.label.group"), false); rowList.add(row); - groupCount = 1; + int groupCount = 1; int[] percentages = new int[summaryByTeam.size()]; for (GroupSummary summary : summaryByTeam) { row = new ExcelCell[numberOfItems + 3]; columnCount = 0; - row[columnCount++] = new ExcelCell(groupCount, false); + row[columnCount++] = new ExcelCell(summary.getSessionName(), false); int numberOfFirstChoiceEvents = 0; for (ScratchieItem item : summary.getItems()) { Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/util/ScratchieSessionComparator.java =================================================================== diff -u --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/util/ScratchieSessionComparator.java (revision 0) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/util/ScratchieSessionComparator.java (revision eb056585fef20d548c58cf015845317c7aae33c0) @@ -0,0 +1,46 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.tool.scratchie.util; + +import java.util.Comparator; + +import org.lamsfoundation.lams.tool.scratchie.model.ScratchieSession; +import org.lamsfoundation.lams.util.AlphanumComparator; + +/** + * ScratchieSession comparator. + */ +public class ScratchieSessionComparator implements Comparator { + + private static AlphanumComparator alphanumComparator = new AlphanumComparator(); + + public int compare(ScratchieSession session1, ScratchieSession session2) { + + String session1Name = session1 != null ? session1.getSessionName() : ""; + String session2Name = session2 != null ? session2.getSessionName() : ""; + + return alphanumComparator.compare(session1Name, session2Name); + } + +} Index: lams_tool_scratchie/web/pages/learning/results.jsp =================================================================== diff -u -rfbadc809bd7685aef92f0b4e25408e35dfa1e188 -reb056585fef20d548c58cf015845317c7aae33c0 --- lams_tool_scratchie/web/pages/learning/results.jsp (.../results.jsp) (revision fbadc809bd7685aef92f0b4e25408e35dfa1e188) +++ lams_tool_scratchie/web/pages/learning/results.jsp (.../results.jsp) (revision eb056585fef20d548c58cf015845317c7aae33c0) @@ -67,6 +67,8 @@ feedback:"" }); + + jQuery("#burningQuestions${burningQuestionDto.item.uid}").jqGrid('sortGrid','groupName', false, 'asc'); Index: lams_tool_scratchie/web/pages/monitoring/summary.jsp =================================================================== diff -u -r447eb31b1898bb52f8c723f3e91f3a94fdae497d -reb056585fef20d548c58cf015845317c7aae33c0 --- lams_tool_scratchie/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 447eb31b1898bb52f8c723f3e91f3a94fdae497d) +++ lams_tool_scratchie/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision eb056585fef20d548c58cf015845317c7aae33c0) @@ -120,6 +120,8 @@ feedback:"" }); + + jQuery("#burningQuestions${burningQuestionDto.item.uid}").jqGrid('sortGrid','groupName', false, 'asc');