Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java,v diff -u -r1.18 -r1.19 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java 28 Jun 2007 06:43:37 -0000 1.18 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java 28 Jun 2007 23:52:42 -0000 1.19 @@ -28,6 +28,7 @@ import java.util.Iterator; import java.util.Set; +import org.apache.commons.lang.builder.CompareToBuilder; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; @@ -282,9 +283,9 @@ if ( !(other instanceof Group) ) return false; Group castOther = (Group) other; return new EqualsBuilder() + .append(this.getOrderId(), castOther.getOrderId()) .append(this.getGroupId(), castOther.getGroupId()) .append(this.getGroupName(), castOther.getGroupName()) - .append(this.getOrderId(), castOther.getOrderId()) .append(this.getGroupUIID(), castOther.getGroupUIID()) .isEquals(); } @@ -304,9 +305,13 @@ */ public int compareTo(Object o) { - Group group = (Group)o; - - return this.orderId - group.orderId; + Group castOther = (Group)o; + return new CompareToBuilder() + .append(this.getOrderId(), castOther.getOrderId()) + .append(this.getGroupId(), castOther.getGroupId()) + .append(this.getGroupName(), castOther.getGroupName()) + .append(this.getGroupUIID(), castOther.getGroupUIID()) + .toComparison(); } //--------------------------------------------------------------------- Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java,v diff -u -r1.61 -r1.62 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 28 Jun 2007 14:08:28 -0000 1.61 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 28 Jun 2007 23:52:42 -0000 1.62 @@ -1279,10 +1279,12 @@ Map groupingMapper = new HashMap(); Map groupByUIIDMapper = new HashMap(); for(GroupingDTO groupingDto : groupingDtoList){ - Long originalGroupingId = groupingDto.getGroupingID(); Grouping grouping = getGrouping(groupingDto, groupByUIIDMapper); - groupingMapper.put(originalGroupingId,grouping); - + groupingMapper.put(grouping.getGroupingId(),grouping); + + //persist + grouping.setGroupingId(null); + groupingDAO.insert(grouping); } //================== Start handle activities ====================== @@ -1424,7 +1426,6 @@ Set entryList = new HashSet(); for (GroupBranchActivityEntryDTO entryDto : entryDtoList) { GroupBranchActivityEntry entry = getGroupBranchActivityEntry(entryDto, groupByUIIDMapper, activityByUIIDMapper); - groupingDAO.insert(entry); entryList.add(entry); } @@ -1593,19 +1594,16 @@ } //common fields + grouping.setGroupingId(groupingDto.getGroupingID()); grouping.setGroupingUIID(groupingDto.getGroupingUIID()); grouping.setMaxNumberOfGroups(groupingDto.getMaxNumberOfGroups()); - //persist - groupingDAO.insert(grouping); - // process any groups that the design might have if ( groupingDto.getGroups() != null ) { Iterator iter = groupingDto.getGroups().iterator(); while ( iter.hasNext() ) { GroupDTO groupDto = (GroupDTO) iter.next(); Group group = getGroup(groupDto, grouping); - groupingDAO.insert(group); grouping.getGroups().add(group); groupByUIIDMapper.put(group.getGroupUIID(), group); }