Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java =================================================================== diff -u -r3399163940c61c9132223c758d274486e57ff9b7 -r51f0b0d75529c154910d175aad7d0f26acdf0597 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java (.../GroupingAJAXAction.java) (revision 3399163940c61c9132223c758d274486e57ff9b7) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java (.../GroupingAJAXAction.java) (revision 51f0b0d75529c154910d175aad7d0f26acdf0597) @@ -21,12 +21,14 @@ * **************************************************************** */ - package org.lamsfoundation.lams.monitoring.web; import java.io.IOException; +import java.util.Comparator; import java.util.Iterator; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -38,14 +40,17 @@ import org.apache.struts.action.ActionMapping; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; +import org.lamsfoundation.lams.learning.web.action.GroupingAction; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.Group; +import org.lamsfoundation.lams.learningdesign.GroupComparator; import org.lamsfoundation.lams.learningdesign.Grouping; import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.lesson.service.LessonServiceException; import org.lamsfoundation.lams.monitoring.service.IMonitoringService; import org.lamsfoundation.lams.monitoring.service.MonitoringServiceProxy; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.util.FirstNameAlphabeticComparator; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -58,19 +63,13 @@ * * * @author Fiona Malikoff - * - * - * - * - * - * - * */ public class GroupingAJAXAction extends LamsDispatchAction { // --------------------------------------------------------------------- private static final String CHOSEN_GROUPING_SCREEN = "chosenGrouping"; + private static final String VIEW_GROUPS_SCREEN = "viewGroups"; private static final String PARAM_ACTIVITY_TITLE = "title"; private static final String PARAM_ACTIVITY_DESCRIPTION = "description"; public static final String PARAM_MAX_NUM_GROUPS = "maxNumberOfGroups"; @@ -130,9 +129,22 @@ request.setAttribute(GroupingAJAXAction.PARAM_VIEW_MODE, Boolean.FALSE); return mapping.findForward(GroupingAJAXAction.CHOSEN_GROUPING_SCREEN); + } + SortedSet groups = new TreeSet(new GroupComparator()); + groups.addAll(grouping.getGroups()); + + // sort users with first, then last name, then login + Comparator userComparator = new FirstNameAlphabeticComparator(); + for (Group group : groups) { + Set sortedUsers = new TreeSet(userComparator); + sortedUsers.addAll(group.getUsers()); + group.setUsers(sortedUsers); } - return null; + + request.setAttribute(GroupingAction.GROUPS, groups); + // go to a view only screen for random grouping + return mapping.findForward(GroupingAJAXAction.VIEW_GROUPS_SCREEN); } /** @@ -299,4 +311,4 @@ response.getWriter().write(responseJSON.toString()); return null; } -} \ No newline at end of file +} Index: lams_monitoring/web/WEB-INF/struts-config.xml =================================================================== diff -u -r65efb0abb529cafc1977e284e2c9a4ed33722334 -r51f0b0d75529c154910d175aad7d0f26acdf0597 --- lams_monitoring/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 65efb0abb529cafc1977e284e2c9a4ed33722334) +++ lams_monitoring/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 51f0b0d75529c154910d175aad7d0f26acdf0597) @@ -161,6 +161,11 @@ validate="false" > +