Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentSessionDAOHibernate.java =================================================================== diff -u -rc56857991e269aa7f5bd250a05b52c767a9957ad -re03e356e3615a5e9100c8dbaf08e8272d9c69c2b --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentSessionDAOHibernate.java (.../AssessmentSessionDAOHibernate.java) (revision c56857991e269aa7f5bd250a05b52c767a9957ad) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentSessionDAOHibernate.java (.../AssessmentSessionDAOHibernate.java) (revision e03e356e3615a5e9100c8dbaf08e8272d9c69c2b) @@ -33,7 +33,7 @@ private static final String FIND_BY_SESSION_ID = "from " + AssessmentSession.class.getName() + " as p where p.sessionId=?"; private static final String FIND_BY_CONTENT_ID = "from " + AssessmentSession.class.getName() - + " as p where p.assessment.contentId=?"; + + " as p where p.assessment.contentId=? order by p.sessionName asc"; public AssessmentSession getSessionBySessionId(Long sessionId) { List list = getHibernateTemplate().find(FIND_BY_SESSION_ID, sessionId); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java =================================================================== diff -u -raee0c08639547cfdf353db8f22c4aedf22092787 -re03e356e3615a5e9100c8dbaf08e8272d9c69c2b --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision aee0c08639547cfdf353db8f22c4aedf22092787) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision e03e356e3615a5e9100c8dbaf08e8272d9c69c2b) @@ -106,6 +106,7 @@ import org.lamsfoundation.lams.tool.mc.pojos.McSession; import org.lamsfoundation.lams.tool.mc.pojos.McUploadedFile; import org.lamsfoundation.lams.tool.mc.pojos.McUsrAttempt; +import org.lamsfoundation.lams.tool.mc.util.McSessionComparator; import org.lamsfoundation.lams.tool.mc.web.MonitoringUtil; import org.lamsfoundation.lams.tool.service.ILamsToolService; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; @@ -474,18 +475,17 @@ @Override public List buildGroupsMarkData(McContent mcContent, boolean isFullAttemptDetailsRequired) { List listMonitoredMarksContainerDTO = new LinkedList(); - Set sessions = mcContent.getMcSessions(); - Iterator sessionsIterator = sessions.iterator(); + Set sessions = new TreeSet(new McSessionComparator()); + sessions.addAll(mcContent.getMcSessions()); int numQuestions = mcContent.getMcQueContents().size(); - while (sessionsIterator.hasNext()) { - McSession mcSession = sessionsIterator.next(); + for (McSession session : sessions) { McSessionMarkDTO mcSessionMarkDTO = new McSessionMarkDTO(); - mcSessionMarkDTO.setSessionId(mcSession.getMcSessionId().toString()); - mcSessionMarkDTO.setSessionName(mcSession.getSession_name().toString()); + mcSessionMarkDTO.setSessionId(session.getMcSessionId().toString()); + mcSessionMarkDTO.setSessionName(session.getSession_name().toString()); - Set sessionUsers = mcSession.getMcQueUsers(); + Set sessionUsers = session.getMcQueUsers(); Iterator usersIterator = sessionUsers.iterator(); Map mapSessionUsersData = new TreeMap(new McStringComparator()); @@ -495,8 +495,8 @@ McQueUsr user = usersIterator.next(); McUserMarkDTO mcUserMarkDTO = new McUserMarkDTO(); - mcUserMarkDTO.setSessionId(mcSession.getMcSessionId().toString()); - mcUserMarkDTO.setSessionName(mcSession.getSession_name().toString()); + mcUserMarkDTO.setSessionId(session.getMcSessionId().toString()); + mcUserMarkDTO.setSessionName(session.getSession_name().toString()); mcUserMarkDTO.setFullName(user.getFullname()); mcUserMarkDTO.setUserName(user.getUsername()); mcUserMarkDTO.setQueUsrId(user.getUid().toString()); @@ -526,7 +526,7 @@ // We get the mark for the attempt if the answer is correct and we don't allow // retries, or if the answer is correct and the learner has met the passmark if // we do allow retries. - boolean isRetries = mcSession.getMcContent().isRetries(); + boolean isRetries = session.getMcContent().isRetries(); Integer mark = attempt.getMarkForShow(isRetries); userMarks[arrayIndex] = mark; totalMark += mark.intValue(); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/util/McSessionComparator.java =================================================================== diff -u --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/util/McSessionComparator.java (revision 0) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/util/McSessionComparator.java (revision e03e356e3615a5e9100c8dbaf08e8272d9c69c2b) @@ -0,0 +1,21 @@ +package org.lamsfoundation.lams.tool.mc.util; + +import java.util.Comparator; + +import org.lamsfoundation.lams.tool.mc.pojos.McSession; + +/** + * McSessionComparator. + */ +public class McSessionComparator implements Comparator { + + public int compare(McSession o1, McSession o2) { + if (o1 != null && o2 != null) { + return o1.getSession_name().compareTo(o2.getSession_name()); + } else if (o1 != null) + return 1; + else + return -1; + } + +}