Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.java,v diff -u -r1.6 -r1.7 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.java 2 Mar 2010 13:10:00 -0000 1.6 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.java 14 Dec 2010 23:14:59 -0000 1.7 @@ -120,7 +120,7 @@ * */ public Assessment() { - attachments = new TreeSet(new SequencableComparator()); + attachments = new TreeSet(); questions = new TreeSet(new SequencableComparator()); overallFeedbacks = new TreeSet(new SequencableComparator()); } @@ -179,7 +179,7 @@ // clone attachment if (attachments != null) { Iterator iter = attachments.iterator(); - Set set = new TreeSet(new SequencableComparator()); + Set set = new TreeSet(); while (iter.hasNext()) { AssessmentAttachment file = (AssessmentAttachment) iter.next(); AssessmentAttachment newFile = (AssessmentAttachment) file.clone(); Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentAttachment.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Attic/AssessmentAttachment.java,v diff -u -r1.2 -r1.3 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentAttachment.java 25 Feb 2009 22:16:33 -0000 1.2 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentAttachment.java 14 Dec 2010 23:14:59 -0000 1.3 @@ -37,7 +37,7 @@ * @hibernate.class table="tl_laasse10_attachment" * */ -public class AssessmentAttachment implements Cloneable { +public class AssessmentAttachment implements Cloneable, Comparable { private static final Logger log = Logger.getLogger(AssessmentAttachment.class); private Long uid; @@ -79,6 +79,16 @@ return new HashCodeBuilder().append(uid).append(fileVersionId).append(fileName).append(fileType) .append(created).toHashCode(); } + + @Override + public int compareTo(Object o) { + if ((o != null) && o instanceof AssessmentAttachment) { + AssessmentAttachment anotherAtt = (AssessmentAttachment) o; + return (int) (fileUuid - anotherAtt.getFileUuid()); + } else { + return 1; + } + } // ********************************************************** // get/set methods @@ -151,4 +161,5 @@ public void setCreated(Date created) { this.created = created; } + } Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java,v diff -u -r1.19 -r1.20 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java 26 Feb 2010 06:50:14 -0000 1.19 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java 14 Dec 2010 23:14:59 -0000 1.20 @@ -356,15 +356,11 @@ List deleteAttachmentList = getDeletedAttachmentList(sessionMap); // current attachemnt in authoring instruction tab. - Iterator iter = attachmentList.iterator(); - while (iter.hasNext()) { - AssessmentAttachment newAtt = (AssessmentAttachment) iter.next(); - attPOSet.add(newAtt); - } + attPOSet.addAll(attachmentList); attachmentList.clear(); // deleted attachment. 2 possible types: one is persist another is non-persist before. - iter = deleteAttachmentList.iterator(); + Iterator iter = deleteAttachmentList.iterator(); while (iter.hasNext()) { AssessmentAttachment delAtt = (AssessmentAttachment) iter.next(); iter.remove();