Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/ScratchieSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/ScratchieSessionDAO.java,v diff -u -r1.1 -r1.2 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/ScratchieSessionDAO.java 19 Jul 2012 19:20:08 -0000 1.1 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/ScratchieSessionDAO.java 16 Aug 2015 12:22:16 -0000 1.2 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/hibernate/ScratchieSessionDAOHibernate.java,v diff -u -r1.2 -r1.3 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/hibernate/ScratchieSessionDAOHibernate.java 16 Nov 2012 08:08:05 -0000 1.2 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dao/hibernate/ScratchieSessionDAOHibernate.java 16 Aug 2015 12:22:16 -0000 1.3 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java,v diff -u -r1.62 -r1.63 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java 14 Aug 2015 08:26:31 -0000 1.62 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java 16 Aug 2015 12:22:16 -0000 1.63 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/util/ScratchieSessionComparator.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/util/ScratchieSessionComparator.java 16 Aug 2015 12:22:16 -0000 1.1 @@ -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: ScratchieSessionComparator.java,v 1.1 2015/08/16 12:22:16 andreyb Exp $ */ +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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/web/pages/learning/results.jsp,v diff -u -r1.16 -r1.17 --- lams_tool_scratchie/web/pages/learning/results.jsp 5 May 2015 23:11:42 -0000 1.16 +++ lams_tool_scratchie/web/pages/learning/results.jsp 16 Aug 2015 12:22:16 -0000 1.17 @@ -67,6 +67,8 @@ feedback:"" }); + + jQuery("#burningQuestions${burningQuestionDto.item.uid}").jqGrid('sortGrid','groupName', false, 'asc'); Index: lams_tool_scratchie/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/web/pages/monitoring/summary.jsp,v diff -u -r1.16 -r1.17 --- lams_tool_scratchie/web/pages/monitoring/summary.jsp 2 Mar 2015 22:03:43 -0000 1.16 +++ lams_tool_scratchie/web/pages/monitoring/summary.jsp 16 Aug 2015 12:22:16 -0000 1.17 @@ -120,6 +120,8 @@ feedback:"" }); + + jQuery("#burningQuestions${burningQuestionDto.item.uid}").jqGrid('sortGrid','groupName', false, 'asc');