[jboss-cvs] JBossBlog SVN: r202 - in trunk: src/action/org/jboss/blog/session/feed/mod and 9 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 7 12:23:14 EST 2008


Author: adamw
Date: 2008-02-07 12:23:13 -0500 (Thu, 07 Feb 2008)
New Revision: 202

Added:
   trunk/src/test/org/jboss/blog/tools/FixHtmlExample1.java
Modified:
   trunk/resources/META-INF/persistence-dev.xml
   trunk/resources/META-INF/persistence-prod.xml
   trunk/src/action/org/jboss/blog/session/feed/mod/AggregatedFeedModBean.java
   trunk/src/action/org/jboss/blog/session/feed/posts/AggregatedFeedPosts.java
   trunk/src/action/org/jboss/blog/session/group/GroupModBean.java
   trunk/src/action/org/jboss/blog/session/merge/MergeServiceBean.java
   trunk/src/action/org/jboss/blog/session/parser/ParserServiceImpl.java
   trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java
   trunk/src/action/org/jboss/blog/session/update/UpdateManager.java
   trunk/src/action/org/jboss/blog/session/view/FeedViewBean.java
   trunk/src/model/org/jboss/blog/model/Group.java
   trunk/view/manage/feed_mod.xhtml
Log:


Modified: trunk/resources/META-INF/persistence-dev.xml
===================================================================
--- trunk/resources/META-INF/persistence-dev.xml	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/resources/META-INF/persistence-dev.xml	2008-02-07 17:23:13 UTC (rev 202)
@@ -28,8 +28,8 @@
 
             <property name="hibernate.cache.use_query_cache" value="true"/>
             <property name="hibernate.cache.use_second_level_cache" value="true"/>
-            <!--<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
-            <property name="hibernate.cache.provider_configuration_file_resource_path" value="blog-ehcache.xml" />-->
+            <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
+            <property name="hibernate.cache.provider_configuration_file_resource_path" value="blog-ehcache.xml" />
             
             <!-- TODO Search -->
             <!-- use a file system based index -->

Modified: trunk/resources/META-INF/persistence-prod.xml
===================================================================
--- trunk/resources/META-INF/persistence-prod.xml	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/resources/META-INF/persistence-prod.xml	2008-02-07 17:23:13 UTC (rev 202)
@@ -29,8 +29,8 @@
 
             <property name="hibernate.cache.use_query_cache" value="true"/>
             <property name="hibernate.cache.use_second_level_cache" value="true"/>
-            <!--<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
-            <property name="hibernate.cache.provider_configuration_file_resource_path" value="blog-ehcache.xml" />-->
+            <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
+            <property name="hibernate.cache.provider_configuration_file_resource_path" value="blog-ehcache.xml" />
 
             <!-- Search -->
             <!-- use a file system based index -->

Modified: trunk/src/action/org/jboss/blog/session/feed/mod/AggregatedFeedModBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/mod/AggregatedFeedModBean.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/action/org/jboss/blog/session/feed/mod/AggregatedFeedModBean.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -5,6 +5,7 @@
 import org.jboss.blog.model.Group;
 import org.jboss.blog.model.post.PostFilter;
 import org.jboss.blog.service.FeedsService;
+import org.jboss.blog.service.GroupsService;
 import org.jboss.blog.session.feed.InvalidFeedTypeException;
 import org.jboss.blog.model.post.filter.AndFilter;
 import org.jboss.blog.session.view.LinkServiceBean;
@@ -40,6 +41,9 @@
     @In
     private LinkServiceBean linkService;
 
+    @In
+    private GroupsService groupsService;
+
     private AggregatedFeed aggregatedFeed;
 
     private List<Feed> availableFeeds;
@@ -112,7 +116,7 @@
         availableFeeds = new ArrayList<Feed>();
 
         for (Group availableGroup : availableGroups) {
-            for (Feed nextFeed : availableGroup.getFeeds()) {
+            for (Feed nextFeed : groupsService.acceptedFeeds(availableGroup)) {
                 if (GeneralTools.objectsEqual(nextFeed, getAggregatedFeed())) {
                     continue;
                 }

Modified: trunk/src/action/org/jboss/blog/session/feed/posts/AggregatedFeedPosts.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/AggregatedFeedPosts.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/action/org/jboss/blog/session/feed/posts/AggregatedFeedPosts.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -5,6 +5,7 @@
 import org.jboss.blog.model.RestrictedPost;
 import org.jboss.blog.model.Group;
 import org.jboss.blog.service.FeedsService;
+import org.jboss.blog.service.GroupsService;
 import org.jboss.blog.tools.GeneralTools;
 import org.jboss.blog.model.post.PostFilter;
 import org.jboss.seam.ScopeType;
@@ -24,6 +25,9 @@
     private FeedsService feedsService;
 
     @In
+    private GroupsService groupsService;
+
+    @In
     private AggregatedFeedStack aggregatedFeedStack;
 
     private void filterPostList(List<? extends RestrictedPost> posts, PostFilter filter) {
@@ -48,7 +52,7 @@
         Map<Group, PostFilter> groupsAndFilters = aggregatedFeed.getGroups();
         for (Group group : groupsAndFilters.keySet()) {
             PostFilter groupFilter = groupsAndFilters.get(group);
-            for (Feed feedInGroup : group.getFeeds()) {
+            for (Feed feedInGroup : groupsService.acceptedFeeds(group)) {
                 feedsAndFilters.put(feedInGroup, groupFilter);
             }
         }

Modified: trunk/src/action/org/jboss/blog/session/group/GroupModBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/group/GroupModBean.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/action/org/jboss/blog/session/group/GroupModBean.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -4,6 +4,7 @@
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.faces.FacesMessages;
 import org.jboss.blog.model.Group;
+import org.jboss.blog.service.GroupsService;
 
 import javax.persistence.EntityManager;
 import javax.faces.application.FacesMessage;
@@ -19,6 +20,9 @@
     @In
     private FacesMessages facesMessages;
 
+    @In
+    private GroupsService groupsService;
+
     private Group group;
 
     public Group getGroup() {
@@ -49,7 +53,7 @@
     }
 
     public void delete() {
-        if (group.getFeeds().size() > 0) {
+        if ((groupsService.acceptedFeeds(group).size() > 0) || (groupsService.unacceptedFeeds(group).size() > 0)) {
             facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_INFO, "blog.group.cannotdelete",
                     group.getDisplayName(), group.getName());
 

Modified: trunk/src/action/org/jboss/blog/session/merge/MergeServiceBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/merge/MergeServiceBean.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/action/org/jboss/blog/session/merge/MergeServiceBean.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -38,12 +38,11 @@
     public void savePost(Feed feed, Post post) {
         post.setTitleAsId(titleAsIdService.generateTitleAsId(post.getTitle()));
 
-        post.setContent(StringTools.fixHtml(post.getContent()));
-
         log.debug("Saving post, feed: #0, post title: #1, post titleAsId: #2, published: #3.",
                 feed.getName(), post.getTitle(), post.getTitleAsId(), post.getPublished());
         
         post.setFeed(feed);
+        
         entityManager.persist(post);
 
         for (Enclosure enc : post.getEnclosures()) {
@@ -84,31 +83,43 @@
         boolean changes = false;
 
         if (!GeneralTools.objectsEqual(mergeTo.getAuthor(), mergeFrom.getAuthor())) {
+            log.debug("Post '#0' merge, changed author, new: '#1', old: '#2'.",
+                    mergeTo.getTitleAsId(), mergeFrom.getAuthor(), mergeTo.getAuthor());
             mergeTo.setAuthor(mergeFrom.getAuthor());
             changes = true;
         }
 
         if (!GeneralTools.objectsEqual(mergeTo.getContent(), mergeFrom.getContent())) {
+            log.debug("Post '#0' merge, changed content, new: '#1', old: '#2'.",
+                    mergeTo.getTitleAsId(), mergeFrom.getContent(), mergeTo.getContent());
             mergeTo.setContent(mergeFrom.getContent());
             changes = true;
         }
 
         if (!GeneralTools.objectsEqual(mergeTo.getLink(), mergeFrom.getLink())) {
+            log.debug("Post '#0' merge, changed link, new: '#1', old: '#2'.",
+                    mergeTo.getTitleAsId(), mergeFrom.getLink(), mergeTo.getLink());
             mergeTo.setLink(mergeFrom.getLink());
             changes = true;
         }
 
-        if (!GeneralTools.objectsEqual(mergeTo.getModified(), mergeFrom.getModified())) {
+        if (mergeTo.getModified().getTime() != mergeFrom.getModified().getTime()) {
+            log.debug("Post '#0' merge, changed modified date, new: '#1', old: '#2'.",
+                    mergeTo.getTitleAsId(), mergeFrom.getModified().getTime(), mergeTo.getModified().getTime());
             mergeTo.setModified(mergeFrom.getModified());
             changes = true;
         }
 
         if (!GeneralTools.objectsEqual(mergeTo.getTitle(), mergeFrom.getTitle())) {
+            log.debug("Post '#0' merge, changed title, new: '#1', old: '#2'.", 
+                    mergeTo.getTitleAsId(), mergeFrom.getTitle(), mergeTo.getTitle());
             mergeTo.setTitle(mergeFrom.getTitle());
             changes = true;
         }
 
         if (changes) {
+            log.debug("Saving merged changes in post #0.", mergeTo.getTitleAsId());
+
             entityManager.flush();
 
             Events.instance().raiseEvent("org.jboss.blog.post.updated", mergeTo.getTitleAsId(), feed.getName());

Modified: trunk/src/action/org/jboss/blog/session/parser/ParserServiceImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/parser/ParserServiceImpl.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/action/org/jboss/blog/session/parser/ParserServiceImpl.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -96,7 +96,7 @@
                         }
                     }
 
-                    post.setContent(longestContent);
+                    post.setContent(StringTools.fixHtml(longestContent));
 
                     // Setting categories
                     post.setCategories(new ArrayList<Category>());

Modified: trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -3,6 +3,7 @@
 import org.jboss.blog.model.feed.Feed;
 import org.jboss.blog.model.Group;
 import org.jboss.blog.service.FeedsService;
+import org.jboss.blog.service.GroupsService;
 import org.jboss.blog.session.feed.type.FeedTypes;
 import org.jboss.seam.annotations.AutoCreate;
 import org.jboss.seam.annotations.In;
@@ -23,19 +24,19 @@
     private FeedsService feedsService;
 
     @In
+    private GroupsService groupsService;
+
+    @In
     private FeedTypes feedTypes;
 
     public void update() {
         for (Group group : feedsService.getAllGroups()) {
-            for (Feed feed : group.getFeeds()) {
-                // TODO: remove
-                System.out.println("Updating feed: (1) " + feed.getName());
-                if (feed.isAccepted()) {
-                    try {
-                        feedTypes.getFeedDao(feed).update();
-                    } catch (UpdateException e) {
-                        System.out.println("Exception when updating feed: " + feed.getName() + "; " + e.getMessage());           
-                    }
+            for (Feed feed : groupsService.acceptedFeeds(group)) {
+                try {
+                    feedTypes.getFeedDao(feed).update();
+                } catch (UpdateException e) {
+                    // TODO: log this somewhere
+                    System.out.println("Exception when updating feed: " + feed.getName() + "; " + e.getMessage());
                 }
             }
         }

Modified: trunk/src/action/org/jboss/blog/session/update/UpdateManager.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateManager.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateManager.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -3,7 +3,6 @@
 import org.jboss.seam.ScopeType;
 import org.jboss.seam.Component;
 import org.jboss.seam.log.Logging;
-import org.jboss.seam.async.AbstractDispatcher;
 import org.jboss.seam.contexts.Contexts;
 import org.jboss.seam.contexts.Lifecycle;
 import org.jboss.seam.annotations.*;
@@ -30,11 +29,9 @@
 
         // TODO: add monitor and configurable intervals
 
-        // executor.scheduleAtFixedRate(new UpdateRunnable(), 3, 20, TimeUnit.SECONDS);
+        executor.scheduleAtFixedRate(new UpdateRunnable(), 10, 900, TimeUnit.SECONDS);
     }
 
-    // TODO: the cache in this thread is not updated
-    // TODO: EhCache or hashtable cache? If not ehcache -> remove the jar
     private static class UpdateRunnable implements Runnable {
         public void run() {
             boolean createContexts = !Contexts.isEventContextActive() && !Contexts.isApplicationContextActive();

Modified: trunk/src/action/org/jboss/blog/session/view/FeedViewBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/view/FeedViewBean.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/action/org/jboss/blog/session/view/FeedViewBean.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -5,6 +5,7 @@
 import org.jboss.blog.model.RestrictedPost;
 import org.jboss.blog.model.Group;
 import org.jboss.blog.service.FeedsService;
+import org.jboss.blog.service.GroupsService;
 import org.jboss.blog.tools.StringTools;
 import org.jboss.seam.ScopeType;
 import org.jboss.seam.annotations.In;
@@ -23,6 +24,9 @@
     @In
     private FeedsService feedsService;
 
+    @In
+    private GroupsService groupsService;
+
     private Feed feed;
     private int from;
 
@@ -75,7 +79,7 @@
      */
     public void fixHtml() {
         for (Group group : feedsService.getAllGroups()) {
-            for (Feed feed : group.getFeeds()) {
+            for (Feed feed : groupsService.acceptedFeeds(group)) {
                 for (Post post : feed.getPosts()) {
                     post.setContent(StringTools.fixHtml(post.getContent()));
                 }

Modified: trunk/src/model/org/jboss/blog/model/Group.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Group.java	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/src/model/org/jboss/blog/model/Group.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -1,6 +1,5 @@
 package org.jboss.blog.model;
 
-import org.jboss.blog.model.feed.Feed;
 import org.hibernate.validator.NotEmpty;
 import org.hibernate.validator.Pattern;
 import org.hibernate.validator.Length;
@@ -8,7 +7,6 @@
 import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.*;
-import java.util.List;
 
 /**
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
@@ -22,11 +20,6 @@
     @Column(updatable = false)
     private Integer id;
 
-    @OneToMany(mappedBy = "group")
-    @OrderBy("name")
-    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
-    private List<Feed> feeds;
-
     @NotEmpty
     @Column(unique = true)
     @Length(max = 32)
@@ -45,14 +38,6 @@
         this.id = id;
     }
 
-    public List<Feed> getFeeds() {
-        return feeds;
-    }
-
-    public void setFeeds(List<Feed> feeds) {
-        this.feeds = feeds;
-    }
-
     public String getName() {
         return name;
     }

Added: trunk/src/test/org/jboss/blog/tools/FixHtmlExample1.java
===================================================================
--- trunk/src/test/org/jboss/blog/tools/FixHtmlExample1.java	                        (rev 0)
+++ trunk/src/test/org/jboss/blog/tools/FixHtmlExample1.java	2008-02-07 17:23:13 UTC (rev 202)
@@ -0,0 +1,16 @@
+package org.jboss.blog.tools;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class FixHtmlExample1 {
+    public static void main(String[] args) {
+        System.out.println(StringTools.fixHtml("<p>There are times that I realize I haven&#8217;t directed my own music choices for a while.  Maybe I&#8217;ve been traveling, spending all day on the phone, or simply driving down the road with the radio inadvertently tuned to KRAP-FM.</p>\n" +
+                "<p>And I find my motivation waning, my creativity lacking, and my general happiness in deficit.  Music matters to me.  But even then, I&#8217;ll have trouble finding the <strong>right</strong> music to listen to.  Somehow the 26.5 days of music jammed into iTunes just is not sufficient.  The online streams seem off.</p>\n" +
+                "<p>But then there are days like today, when my wife introduced me to <a href=\"http://en.wikipedia.org/wiki/Jose_Gonzales\" title=\"Wikipedia says...\">José González</a>.  This man sings exactly the right way for today.  Plus the video has a creepy pigman.</p>\n" +
+                "<p><center><br />\n" +
+                "<object height=\"355\" width=\"425\"></p>\n" +
+                "<param name=\"movie\" value=\"http://www.youtube.com/v/FFiGPMxsnB4&#38;rel=1\"></param>\n" +
+                "<param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/FFiGPMxsnB4&#38;rel=1\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" height=\"355\" width=\"425\"></embed></object></center></p>"));
+    }
+}

Modified: trunk/view/manage/feed_mod.xhtml
===================================================================
--- trunk/view/manage/feed_mod.xhtml	2008-02-07 15:20:12 UTC (rev 201)
+++ trunk/view/manage/feed_mod.xhtml	2008-02-07 17:23:13 UTC (rev 202)
@@ -24,7 +24,6 @@
     </ul>
 </div>
 
-
 <h:form>
 <div class="adminforms">
 <h:panelGrid columns="2">




More information about the jboss-cvs-commits mailing list