You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2007/10/11 23:03:57 UTC
svn commit: r583952 - in
/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2:
admin/GlobalCommentManagement.java editor/Comments.java
Author: snoopdave
Date: Thu Oct 11 14:03:56 2007
New Revision: 583952
URL: http://svn.apache.org/viewvc?rev=583952&view=rev
Log:
Fixing a couple more attempt to use deleted object bugs
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java?rev=583952&r1=583951&r2=583952&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java Thu Oct 11 14:03:56 2007
@@ -31,6 +31,7 @@
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.WeblogManager;
+import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.roller.weblogger.pojos.WeblogEntryComment;
import org.apache.roller.weblogger.ui.struts2.pagers.CommentsPager;
import org.apache.roller.weblogger.ui.struts2.util.KeyValueObject;
@@ -242,7 +243,7 @@
try {
WeblogManager wmgr = WebloggerFactory.getWeblogger().getWeblogManager();
- List flushList = new ArrayList();
+ List<Weblog> flushList = new ArrayList<Weblog>();
// delete all comments with delete box checked
List<String> deletes = Arrays.asList(getBean().getDeleteComments());
@@ -252,8 +253,8 @@
WeblogEntryComment deleteComment = null;
for(String deleteId : deletes) {
deleteComment = wmgr.getComment(deleteId);
+ flushList.add(deleteComment.getWeblogEntry().getWebsite());
wmgr.removeComment(deleteComment);
- flushList.add(deleteComment);
}
}
@@ -280,21 +281,21 @@
comment.setStatus(WeblogEntryComment.SPAM);
wmgr.saveComment(comment);
- flushList.add(comment);
+ flushList.add(comment.getWeblogEntry().getWebsite());
} else if(WeblogEntryComment.SPAM.equals(comment.getStatus())) {
log.debug("Marking as approved - "+comment.getId());
comment.setStatus(WeblogEntryComment.APPROVED);
wmgr.saveComment(comment);
- flushList.add(comment);
+ flushList.add(comment.getWeblogEntry().getWebsite());
}
}
WebloggerFactory.getWeblogger().flush();
- // notify caches of changes
- for (Iterator comments=flushList.iterator(); comments.hasNext();) {
- CacheManager.invalidate((WeblogEntryComment)comments.next());
+ // notify caches of changes, flush weblogs affected by changes
+ for (Iterator sites = flushList.iterator(); sites.hasNext();) {
+ CacheManager.invalidate((Weblog)sites.next());
}
addMessage("commentManagement.updateSuccess");
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java?rev=583952&r1=583951&r2=583952&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java Thu Oct 11 14:03:56 2007
@@ -362,10 +362,9 @@
WebloggerFactory.getWeblogger().flush();
- // notify caches of changes
- for(WeblogEntryComment comm : flushList) {
- CacheManager.invalidate(comm);
- }
+ // notify caches of changes by flushing whole site because we can't
+ // invalidate deleted comment objects (JPA nulls the fields out).
+ CacheManager.invalidate(getActionWeblog());
// send notification for all comments changed
if (MailUtil.isMailConfigured()) {