Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java =================================================================== diff -u -rf22baff581dd04fa60acb409559b29d460f070b1 -r784eb14f408a02e96c9efba04beb2e8ec05c03b8 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java (.../Group.java) (revision f22baff581dd04fa60acb409559b29d460f070b1) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java (.../Group.java) (revision 784eb14f408a02e96c9efba04beb2e8ec05c03b8) @@ -30,6 +30,7 @@ import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; +import org.lamsfoundation.lams.learningdesign.dto.GroupDTO; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.util.Nullable; @@ -275,5 +276,8 @@ { return false; } - + + public GroupDTO getGroupDTO(){ + return new GroupDTO(this); + } } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupDTO.java =================================================================== diff -u -rf22baff581dd04fa60acb409559b29d460f070b1 -r784eb14f408a02e96c9efba04beb2e8ec05c03b8 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupDTO.java (.../GroupDTO.java) (revision f22baff581dd04fa60acb409559b29d460f070b1) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupDTO.java (.../GroupDTO.java) (revision 784eb14f408a02e96c9efba04beb2e8ec05c03b8) @@ -20,8 +20,13 @@ */ package org.lamsfoundation.lams.learningdesign.dto; +import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import org.lamsfoundation.lams.learningdesign.Group; +import org.lamsfoundation.lams.usermanagement.User; + public class GroupDTO { private Long groupID; @@ -30,6 +35,18 @@ //list of org.lamsfoundation.lams.usermanagement.dto.UserDTO private List userList; + public GroupDTO(Group group) { + groupID = group.getGroupId(); + groupName = group.getGroupName(); + orderID = group.getOrderId(); + userList = new ArrayList(); + if(group.getUsers() != null){ + Iterator iter = group.getUsers().iterator(); + while(iter.hasNext()){ + userList.add(((User)iter.next()).getUserDTO()); + } + } + } public Long getGroupID() { return groupID; } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupingDTO.java =================================================================== diff -u -r1a968d77cfcbc1bd69deb3a3d8722c8fbd492864 -r784eb14f408a02e96c9efba04beb2e8ec05c03b8 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupingDTO.java (.../GroupingDTO.java) (revision 1a968d77cfcbc1bd69deb3a3d8722c8fbd492864) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/GroupingDTO.java (.../GroupingDTO.java) (revision 784eb14f408a02e96c9efba04beb2e8ec05c03b8) @@ -22,7 +22,13 @@ */ package org.lamsfoundation.lams.learningdesign.dto; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + import org.lamsfoundation.lams.learningdesign.ChosenGrouping; +import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.Grouping; import org.lamsfoundation.lams.learningdesign.RandomGrouping; import org.lamsfoundation.lams.lesson.LessonClass; @@ -40,26 +46,36 @@ private Integer learnersPerGroup; private Long staffGroupID; private Integer maxNumberOfGroups; + //list of GroupDTO + private List groups; - public GroupingDTO(Long groupingID, Integer groupingUIID, Integer groupingType, Integer numberOfGroups, Integer learnersPerGroup, Long staffGroupID, - Integer maxNumberOfGroups) { + Integer maxNumberOfGroups,List groupDTOs) { this.groupingID = groupingID; this.groupingUIID = groupingUIID; this.groupingTypeID = groupingType; this.numberOfGroups = numberOfGroups; this.learnersPerGroup = learnersPerGroup; this.staffGroupID = staffGroupID; this.maxNumberOfGroups = maxNumberOfGroups; + this.groups = groupDTOs; } public GroupingDTO(Grouping grouping){ this.groupingID = grouping.getGroupingId(); this.groupingUIID = grouping.getGroupingUIID(); this.maxNumberOfGroups = grouping.getMaxNumberOfGroups(); this.groupingTypeID = grouping.getGroupingTypeId(); + Set groupSet = grouping.getGroups(); + groups = new ArrayList(); + if(groupSet != null){ + Iterator iter = groupSet.iterator(); + while(iter.hasNext()){ + groups.add(((Group)iter.next()).getGroupDTO()); + } + } /*The two lines of code below are commented out, because it creates a new grouping instance and then tries to get the attributes for it , in which the values are null. So the grouping object is passed straight into the processGroupingActivity() function. */ @@ -176,4 +192,14 @@ if(!staffGroupID.equals(WDDXTAGS.NUMERIC_NULL_VALUE_LONG)) this.staffGroupID = staffGroupID; } + /** + * + * @return group list belongs to this grouping. + */ + public List getGroups() { + return groups; + } + public void setGroups(List groups) { + this.groups = groups; + } }