Index: lams_tool_forum/.classpath
===================================================================
diff -u -r0653e8df3351a6178f4dcb842f4eda25a3d2341b -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/.classpath (.../.classpath) (revision 0653e8df3351a6178f4dcb842f4eda25a3d2341b)
+++ lams_tool_forum/.classpath (.../.classpath) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -7,5 +7,6 @@
+
Index: lams_tool_forum/conf/xdoclet/web-settings.xml
===================================================================
diff -u -r37bc758b9d7d1ba5a285a640e6d58113126f9620 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/conf/xdoclet/web-settings.xml (.../web-settings.xml) (revision 37bc758b9d7d1ba5a285a640e6d58113126f9620)
+++ lams_tool_forum/conf/xdoclet/web-settings.xml (.../web-settings.xml) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -15,7 +15,9 @@
classpath:/org/lamsfoundation/lams/applicationContext.xml
classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml
classpath:/org/lamsfoundation/lams/tool/toolApplicationContext.xml
- classpath:/forumApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/learning/learningApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml
Index: lams_tool_forum/db/sql/create_lams_tool_forum.sql
===================================================================
diff -u -rbbe88a48d8e196a1c6df3d8d915142c19857b052 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/db/sql/create_lams_tool_forum.sql (.../create_lams_tool_forum.sql) (revision bbe88a48d8e196a1c6df3d8d915142c19857b052)
+++ lams_tool_forum/db/sql/create_lams_tool_forum.sql (.../create_lams_tool_forum.sql) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -101,5 +101,4 @@
alter table tl_lafrum11_tool_session add index FK5A04D7AE131CE31E (forum_uid), add constraint FK5A04D7AE131CE31E foreign key (forum_uid) references tl_lafrum11_forum (uid);
INSERT INTO tl_lafrum11_forum (title,instructions,online_instructions,offline_instructions,content_id,allow_anonym,run_offline,lock_on_finished,content_in_use,define_later,allow_edit,allow_rich_editor) VALUES("LAMS Forum","Instruction","Online instruction","Offline instruction",${default_content_id},0,0,0,0,0,1,0);
-INSERT INTO tl_lafrum11_tool_session (forum_uid,session_id,status) VALUES(1,1,0);
SET FOREIGN_KEY_CHECKS=1;
\ No newline at end of file
Index: lams_tool_forum/db/sql/tool_insert.sql
===================================================================
diff -u -r2cbe00467f4c2d4ad30ba38f398830c6de5d2e95 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 2cbe00467f4c2d4ad30ba38f398830c6de5d2e95)
+++ lams_tool_forum/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -20,17 +20,17 @@
supports_contribute_flag,
learner_url,
author_url,
+monitor_url,
define_later_url,
export_portfolio_url,
-monitor_url,
contribute_url,
moderation_url,
create_date_time
)
VALUES
(
'lafrum11',
-'ForumManager',
+'forumService',
'Forum',
'Forum / Message Boards',
'forum',
@@ -46,8 +46,8 @@
'tool/lafrum11/learning/viewForum.do',
'tool/lafrum11/authoring/init.do',
'tool/lafrum11/monitoring/listContentUsers.do',
+'tool/lafrum11/definelater.do',
'tool/lafrum11/export.do',
-'tool/lafrum11/monitor.do',
'tool/lafrum11/contribute.do',
'tool/lafrum11/moderate.do',
NOW()
Fisheye: Tag 62402371ee899b9b20c61c988149efbec1cc00bd refers to a dead (removed) revision in file `lams_tool_forum/src/java/forumApplicationContext.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml
===================================================================
diff -u
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml (revision 0)
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ org/lamsfoundation/lams/tool/forum/persistence/Forum.hbm.xml
+ org/lamsfoundation/lams/tool/forum/persistence/Message.hbm.xml
+ org/lamsfoundation/lams/tool/forum/persistence/Attachment.hbm.xml
+ org/lamsfoundation/lams/tool/forum/persistence/ForumUser.hbm.xml
+ org/lamsfoundation/lams/tool/forum/persistence/ForumReport.hbm.xml
+ org/lamsfoundation/lams/tool/forum/persistence/ForumToolSession.hbm.xml
+ org/lamsfoundation/lams/tool/forum/persistence/MessageSeq.hbm.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ PROPAGATION_REQUIRED,-java.lang.Exception
+ PROPAGATION_REQUIRED,-java.lang.Exception
+ PROPAGATION_REQUIRED,-java.lang.Exception
+ PROPAGATION_REQUIRED,-java.lang.Exception
+ PROPAGATION_REQUIRED,-java.lang.Exception
+ PROPAGATION_REQUIRED,-java.lang.Exception
+
+
+
+
+
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Attachment.java
===================================================================
diff -u -r37bc758b9d7d1ba5a285a640e6d58113126f9620 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Attachment.java (.../Attachment.java) (revision 37bc758b9d7d1ba5a285a640e6d58113126f9620)
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Attachment.java (.../Attachment.java) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -39,6 +39,7 @@
Object obj = null;
try {
obj = super.clone();
+ ((Attachment)obj).setUid(null);
} catch (CloneNotSupportedException e) {
log.error("When clone " + Attachment.class + " failed");
}
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java
===================================================================
diff -u -rc0758b4553e9608cf15b7722e371efbdc6246908 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java (.../Forum.java) (revision c0758b4553e9608cf15b7722e371efbdc6246908)
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java (.../Forum.java) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -4,11 +4,13 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
-import java.util.TreeSet;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.contentrepository.ItemNotFoundException;
+import org.lamsfoundation.lams.contentrepository.NodeKey;
+import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException;
import org.lamsfoundation.lams.tool.forum.util.ForumToolContentHandler;
/**
@@ -45,6 +47,8 @@
private Set messages;
private Set attachments;
+
+ private ForumToolContentHandler toolContentHandler;
/**
* Default contruction method.
@@ -62,6 +66,7 @@
Forum forum = null;
try{
forum = (Forum) super.clone();
+ forum.setUid(null);
//clone message
if(messages != null){
Iterator iter = messages.iterator();
@@ -74,12 +79,23 @@
if(attachments != null){
Iterator iter = attachments.iterator();
Set set = new HashSet();
- while(iter.hasNext())
- set.add(((Attachment)iter.next()).clone());
+ while(iter.hasNext()){
+ Attachment file = (Attachment)iter.next();
+ //duplicate file node in repository
+ NodeKey keys = toolContentHandler.copyFile(file.getFileUuid());
+ Attachment newFile = (Attachment) file.clone();
+ newFile.setFileUuid(keys.getUuid());
+ newFile.setFileVersionId(keys.getVersion());
+ set.add(newFile);
+ }
forum.attachments = set;
}
} catch (CloneNotSupportedException e) {
log.error("When clone " + Forum.class + " failed");
+ } catch (ItemNotFoundException e) {
+ log.error("When clone " + Forum.class + " failed");
+ } catch (RepositoryCheckedException e) {
+ log.error("When clone " + Forum.class + " failed");
}
return forum;
@@ -411,8 +427,11 @@
this.allowRichEditor = allowRichEditor;
}
- public static Forum newInstance(Forum defaultContent, Long contentID2, ForumToolContentHandler forumToolContentHandler) {
-
- return null;
+ public static Forum newInstance(Forum fromContent, Long contentId, ForumToolContentHandler forumToolContentHandler){
+ Forum toContent = new Forum();
+ fromContent.toolContentHandler = forumToolContentHandler;
+ toContent = (Forum) fromContent.clone();
+ toContent.setContentId(contentId);
+ return toContent;
}
}
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java
===================================================================
diff -u -r2a57d40ab3cf7e13403891bc612cd599217da234 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java (.../Message.java) (revision 2a57d40ab3cf7e13403891bc612cd599217da234)
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java (.../Message.java) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -57,6 +57,7 @@
Message msg = null;
try{
msg = (Message) super.clone();
+ msg.setUid(null);
if(parent != null){
msg.parent = (Message) parent.clone();
}
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java
===================================================================
diff -u -rc0758b4553e9608cf15b7722e371efbdc6246908 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision c0758b4553e9608cf15b7722e371efbdc6246908)
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -25,6 +25,7 @@
import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler;
import org.lamsfoundation.lams.contentrepository.service.IRepositoryService;
import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials;
+import org.lamsfoundation.lams.learning.service.ILearnerService;
import org.lamsfoundation.lams.tool.ToolContentManager;
import org.lamsfoundation.lams.tool.ToolSessionExportOutputData;
import org.lamsfoundation.lams.tool.ToolSessionManager;
@@ -53,7 +54,6 @@
import org.lamsfoundation.lams.tool.forum.util.TopicComparator;
import org.lamsfoundation.lams.tool.service.ILamsToolService;
-
/**
*
* @author Steve.Ni
@@ -73,7 +73,7 @@
private ILamsToolService toolService;
private ForumToolContentHandler forumToolContentHandler;
private IRepositoryService repositoryService;
-
+ private ILearnerService learnerService;
public Forum updateForum(Forum forum) throws PersistenceException {
forumDao.saveOrUpdate(forum);
@@ -322,32 +322,37 @@
}
return contentId;
}
- public Forum getDefaultForum(){
- Long defaultForumId = getToolDefaultContentIdBySignature(ForumConstants.TOOLSIGNNATURE);
- Forum defaultForum = getForumByContentId(defaultForumId);
- if(defaultForum == null)
- {
- String error="Could not retrieve default content record for this tool";
- log.error(error);
- throw new ForumException(error);
- }
-
- //save default content by given ID.
- Forum forum = new Forum();
- forum = (Forum) defaultForum.clone();
-
- return forum;
- }
-
public List getSessionsByContentId(Long contentID) {
return forumToolSessionDao.getByContentId(contentID);
}
public List getUsersBySessionId(Long sessionID) {
return forumUserDao.getBySessionId(sessionID);
}
+
+ public List getMessagesByUserUid(Long userId,Long sessionId) {
+ List list = messageDao.getByUserAndSession(userId,sessionId);
+
+ return MessageDTO.getMessageDTO(list);
+ }
+ public ForumUser getUser(Long userUid) {
+ return forumUserDao.getByUid(userUid);
+ }
+
+ public void releaseMarksForSession(Long sessionID) {
+ List list = messageDao.getBySession(sessionID);
+ Iterator iter = list.iterator();
+ while(iter.hasNext()){
+ Message msg = (Message) iter.next();
+ ForumReport report = msg.getReport();
+ if(report != null)
+ report.setDateMarksReleased(new Date());
+ messageDao.saveOrUpdate(msg);
+ }
+ }
+
//***************************************************************************************************************
// Private methods
//***************************************************************************************************************
@@ -426,30 +431,25 @@
throw new ForumException("Login failed." + e.getMessage());
}
}
+ private Forum getDefaultForum(){
+ Long defaultForumId = getToolDefaultContentIdBySignature(ForumConstants.TOOLSIGNNATURE);
+ Forum defaultForum = getForumByContentId(defaultForumId);
+ if(defaultForum == null)
+ {
+ String error="Could not retrieve default content record for this tool";
+ log.error(error);
+ throw new ForumException(error);
+ }
+
+ //save default content by given ID.
+ Forum forum = new Forum();
+ forum = (Forum) defaultForum.clone();
+
+ return forum;
- public List getMessagesByUserUid(Long userId,Long sessionId) {
- List list = messageDao.getByUserAndSession(userId,sessionId);
-
- return MessageDTO.getMessageDTO(list);
- }
+ }
- public ForumUser getUser(Long userUid) {
- return forumUserDao.getByUid(userUid);
- }
- public void releaseMarksForSession(Long sessionID) {
- List list = messageDao.getBySession(sessionID);
- Iterator iter = list.iterator();
- while(iter.hasNext()){
- Message msg = (Message) iter.next();
- ForumReport report = msg.getReport();
- if(report != null)
- report.setDateMarksReleased(new Date());
- messageDao.saveOrUpdate(msg);
- }
- }
-
-
//***************************************************************************************************************
// ToolContentManager and ToolSessionManager methods
//***************************************************************************************************************
@@ -460,7 +460,7 @@
Forum fromContent = forumDao.getByContentId(fromContentId);
if ( fromContent == null ) {
- fromContent = createDefaultContent(fromContentId);
+ fromContent = getDefaultContent(fromContentId);
}
Forum toContent = Forum.newInstance(fromContent,toContentId,forumToolContentHandler);
@@ -508,7 +508,26 @@
}
public String leaveToolSession(Long toolSessionId, Long learnerId) throws DataMissingException, ToolException {
- return null;
+ if(toolSessionId == null){
+ log.error("Fail to leave tool Session based on null tool session id.");
+ throw new ToolException("Fail to remove tool Session based on null tool session id.");
+ }
+ if(learnerId == null){
+ log.error("Fail to leave tool Session based on null learner.");
+ throw new ToolException("Fail to remove tool Session based on null learner.");
+ }
+
+ ForumToolSession session = forumToolSessionDao.getBySessionId(toolSessionId);
+ if(session != null){
+ session.setStatus(ForumConstants.COMPLETED);
+ forumToolSessionDao.saveOrUpdate(session);
+ }else{
+ log.error("Fail to leave tool Session.Could not find submit file " +
+ "session by given session id: "+toolSessionId);
+ throw new DataMissingException("Fail to leave tool Session." +
+ "Could not find submit file session by given session id: "+toolSessionId);
+ }
+ return learnerService.completeToolSession(toolSessionId,learnerId);
}
public ToolSessionExportOutputData exportToolSession(Long toolSessionId) throws DataMissingException, ToolException {
@@ -524,9 +543,9 @@
}
/* (non-Javadoc)
- * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#createDefaultContent(java.lang.Long)
+ * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#getDefaultContent(java.lang.Long)
*/
- public Forum createDefaultContent(Long contentID) {
+ public Forum getDefaultContent(Long contentID) {
if (contentID == null)
{
String error="Could not retrieve default content id for Forum tool";
@@ -616,5 +635,13 @@
this.forumToolContentHandler = toolContentHandler;
}
+ public ILearnerService getLearnerService() {
+ return learnerService;
+ }
+ public void setLearnerService(ILearnerService learnerService) {
+ this.learnerService = learnerService;
+ }
+
+
}
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java
===================================================================
diff -u -rcaa9a3e6d7c7a51d0852c6b350f05ee2a7d3fbab -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java (.../IForumService.java) (revision caa9a3e6d7c7a51d0852c6b350f05ee2a7d3fbab)
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java (.../IForumService.java) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -20,18 +20,14 @@
//************************************************************************************
// Forum Method
//************************************************************************************
- /**
- * Get default content ID by tool signature.
- * @param toolSignature
- * @return
- */
- public Long getToolDefaultContentIdBySignature(String toolSignature);
/**
- * Get a default instance of Forum by signature of tool.
+ * Create a Forum instance according to the default content.
+ * Note, this new insstance won't save into database until called persist method.
+ *
+ * @param contentID
* @return
*/
- public Forum getDefaultForum();
-
+ public Forum getDefaultContent(Long contentID);
/**
* Update forum by given Forum
. If forum does not exist, the create a new forum.
* @param forum
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java
===================================================================
diff -u -r2a57d40ab3cf7e13403891bc612cd599217da234 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java (.../ForumConstants.java) (revision 2a57d40ab3cf7e13403891bc612cd599217da234)
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java (.../ForumConstants.java) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -6,6 +6,8 @@
* Time: 10:33:00
*/
public interface ForumConstants {
+ public static final int COMPLETED = 1;
+
public static final String TOOLSIGNNATURE = "lafrum11";
public final static int MAX_FILE_SIZE = 250 * 1000;
@@ -45,6 +47,7 @@
public static final String MESSAGE_UID = "messageID";
+
}
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/AuthoringAction.java
===================================================================
diff -u -r7e3a5a06958382ab32f15969c971d7b3e1599626 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/AuthoringAction.java (.../AuthoringAction.java) (revision 7e3a5a06958382ab32f15969c971d7b3e1599626)
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/AuthoringAction.java (.../AuthoringAction.java) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -144,7 +144,7 @@
forum = forumService.getForumByContentId(contentId);
//if forum does not exist, try to use default content instead.
if(forum == null){
- forum = forumService.getDefaultForum();
+ forum = forumService.getDefaultContent(contentId);
}
topics = forumService.getAuthoredTopics(contentId);
//initialize attachmentList
@@ -196,54 +196,55 @@
request.getSession().setAttribute(ForumConstants.NEW_FORUM_USER,null);
Forum forumPO = forumService.getForumByContentId(forumForm.getToolContentID());
- if(forumPO != null && forumForm.getToolContentID().equals(forum.getContentId()) ){
- //merge web page change into PO
-
- //merge attachment info
- Set attPOSet = forumPO.getAttachments();
- List attachmentList = getAttachmentList(request);
- List deleteAttachmentList = getDeletedAttachmentList(request);
- Iterator iter = attachmentList.iterator();
- while(iter.hasNext()){
- Attachment newAtt = (Attachment) iter.next();
- //add new attachment, UID is not null
- if(newAtt.getUid() == null)
- attPOSet.add(newAtt);
- }
- attachmentList.clear();
-
- iter = deleteAttachmentList.iterator();
- while(iter.hasNext()){
- Attachment delAtt = (Attachment) iter.next();
- //delete from repository
- forumService.deleteFromRepository(delAtt.getFileUuid(),delAtt.getFileVersionId());
- //it is an existed att, then delete it from current attachmentPO
- if(delAtt.getUid() != null){
- Iterator attIter = attPOSet.iterator();
- while(attIter.hasNext()){
- Attachment att = (Attachment) attIter.next();
- if(delAtt.getUid().equals(att.getUid())){
- attIter.remove();
- break;
- }
- }
- forumService.deleteForumAttachment(delAtt.getUid());
- }//end remove from persist value
- }
- deleteAttachmentList.clear();
-
- //copy back
- forumPO.setAttachments(attPOSet);
- }else{
+ if(forumPO == null || !forumForm.getToolContentID().equals(forum.getContentId()) ){
//new Forum, create it.
forumPO = forum;
forumPO.setContentId(forumForm.getToolContentID());
}
+
+ //merge attachment info
+ Set attPOSet = forumPO.getAttachments();
+ if(attPOSet == null)
+ attPOSet = new HashSet();
+ List attachmentList = getAttachmentList(request);
+ List deleteAttachmentList = getDeletedAttachmentList(request);
+ Iterator iter = attachmentList.iterator();
+ while(iter.hasNext()){
+ Attachment newAtt = (Attachment) iter.next();
+ //add new attachment, UID is not null
+ if(newAtt.getUid() == null)
+ attPOSet.add(newAtt);
+ }
+ attachmentList.clear();
+
+ iter = deleteAttachmentList.iterator();
+ while(iter.hasNext()){
+ Attachment delAtt = (Attachment) iter.next();
+ //delete from repository
+ forumService.deleteFromRepository(delAtt.getFileUuid(),delAtt.getFileVersionId());
+ //it is an existed att, then delete it from current attachmentPO
+ if(delAtt.getUid() != null){
+ Iterator attIter = attPOSet.iterator();
+ while(attIter.hasNext()){
+ Attachment att = (Attachment) attIter.next();
+ if(delAtt.getUid().equals(att.getUid())){
+ attIter.remove();
+ break;
+ }
+ }
+ forumService.deleteForumAttachment(delAtt.getUid());
+ }//end remove from persist value
+ }
+ deleteAttachmentList.clear();
+
+ //copy back
+ forumPO.setAttachments(attPOSet);
forum = forumService.updateForum(forumPO);
+ //********************************Handle topic*******************
//delete message attachment
List topicDeleteAttachmentList = getTopicDeletedAttachmentList(request);
- Iterator iter = topicDeleteAttachmentList.iterator();
+ iter = topicDeleteAttachmentList.iterator();
while(iter.hasNext()){
Attachment delAtt = (Attachment) iter.next();
//delete from repository
@@ -270,7 +271,7 @@
delTopics.clear();
//initialize attachmentList again
- List attachmentList = getAttachmentList(request);
+ attachmentList = getAttachmentList(request);
attachmentList.addAll(forum.getAttachments());
} catch (Exception e) {
log.error(e);
Index: lams_tool_forum/web/WEB-INF/web.xml
===================================================================
diff -u -r1079ea24a56ed171c7d70985cf72de279765d386 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/web/WEB-INF/web.xml (.../web.xml) (revision 1079ea24a56ed171c7d70985cf72de279765d386)
+++ lams_tool_forum/web/WEB-INF/web.xml (.../web.xml) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -17,7 +17,9 @@
classpath:/org/lamsfoundation/lams/applicationContext.xml
classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml
classpath:/org/lamsfoundation/lams/tool/toolApplicationContext.xml
- classpath:/forumApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/learning/learningApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml
Index: lams_tool_forum/web/jsps/authoring/authoring.jsp
===================================================================
diff -u -r1079ea24a56ed171c7d70985cf72de279765d386 -r62402371ee899b9b20c61c988149efbec1cc00bd
--- lams_tool_forum/web/jsps/authoring/authoring.jsp (.../authoring.jsp) (revision 1079ea24a56ed171c7d70985cf72de279765d386)
+++ lams_tool_forum/web/jsps/authoring/authoring.jsp (.../authoring.jsp) (revision 62402371ee899b9b20c61c988149efbec1cc00bd)
@@ -10,6 +10,7 @@