Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java =================================================================== diff -u -r14ddf81e81af986fb804ec0fbf3d114f8b685898 -rb58f2fc7bc8cd178273ceb14efe302d806ce2e72 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java (.../NoticeboardServicePOJO.java) (revision 14ddf81e81af986fb804ec0fbf3d114f8b685898) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java (.../NoticeboardServicePOJO.java) (revision b58f2fc7bc8cd178273ceb14efe302d806ce2e72) @@ -25,6 +25,7 @@ import java.util.Date; import java.util.Iterator; import java.util.List; +import java.util.Set; import org.apache.log4j.Logger; import org.lamsfoundation.lams.contentrepository.NodeKey; @@ -825,7 +826,22 @@ if ((!nbContent.getNbSessions().isEmpty()) && !removeSessionData) throw new SessionDataExistsException("Delete failed: There is session data that belongs to this tool content id"); - removeNoticeboard(toolContentId); + //remove any attachments that belong to this tool entry + Set attachments = nbContent.getNbAttachments(); + Iterator i = attachments.iterator(); + while(i.hasNext()) + { + try + { + removeAttachment(nbContent, (NoticeboardAttachment)i.next()); + } + catch(RepositoryCheckedException e) + { + //TODO: not sure if suppose to throw another type of exception or not + } + } + + removeNoticeboard(toolContentId); } private NoticeboardContent getAndCheckIDandObject(Long toolContentId) throws ToolException, DataMissingException @@ -885,7 +901,9 @@ defaultContent, new Date(System.currentTimeMillis()), NoticeboardSession.NOT_ATTEMPTED); - saveNoticeboardSession(newSession); + //saveNoticeboardSession(newSession); + defaultContent.getNbSessions().add(newSession); + saveNoticeboard(defaultContent); } else @@ -899,8 +917,10 @@ nbContent, new Date(System.currentTimeMillis()), NoticeboardSession.NOT_ATTEMPTED); - - saveNoticeboardSession(nbSession); + + nbContent.getNbSessions().add(nbSession); + saveNoticeboard(nbContent); + //saveNoticeboardSession(nbSession); }