[jboss-cvs] JBossBlog SVN: r161 - in trunk/src/action/org/jboss/blog/session: feed/aggregated and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 19 13:41:54 EST 2007


Author: adamw
Date: 2007-12-19 13:41:54 -0500 (Wed, 19 Dec 2007)
New Revision: 161

Added:
   trunk/src/action/org/jboss/blog/session/feed/posts/
   trunk/src/action/org/jboss/blog/session/feed/posts/DefaultFeedPostsBean.java
   trunk/src/action/org/jboss/blog/session/feed/posts/FeedPosts.java
   trunk/src/action/org/jboss/blog/session/feed/type/
   trunk/src/action/org/jboss/blog/session/feed/type/AbstractFeedType.java
   trunk/src/action/org/jboss/blog/session/feed/type/FeedType.java
   trunk/src/action/org/jboss/blog/session/feed/type/FeedTypesBean.java
Removed:
   trunk/src/action/org/jboss/blog/session/feed/FeedType.java
   trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java
Modified:
   trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java
   trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedPostsBean.java
   trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedTypeRegisterBean.java
   trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedTypeRegisterBean.java
   trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java
Log:


Deleted: trunk/src/action/org/jboss/blog/session/feed/FeedType.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedType.java	2007-12-19 17:53:26 UTC (rev 160)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedType.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -1,16 +0,0 @@
-package org.jboss.blog.session.feed;
-
-import org.jboss.blog.model.Feed;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
-public interface FeedType {
-    public String getName();
-    public Class<? extends Feed> getModelClass();
-    public String getAddPage();
-    public String getEditPage();
-    
-    public String getFeedPostsComponentName();
-    public String getFeedUpdateComponentName();
-}

Deleted: trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java	2007-12-19 17:53:26 UTC (rev 160)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -1,41 +0,0 @@
-package org.jboss.blog.session.feed;
-
-import org.jboss.blog.model.Feed;
-import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.AutoCreate;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Scope;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
- at Name("feedTypes")
- at Scope(ScopeType.APPLICATION)
- at AutoCreate
-public class FeedTypesBean {
-    private Map<Class<? extends Feed>, FeedType> feedTypes;
-
-    public FeedTypesBean() {
-        feedTypes = new ConcurrentHashMap<Class<? extends Feed>, FeedType>();
-    }
-
-    public void registerType(FeedType feedType) {
-        feedTypes.put(feedType.getModelClass(), feedType);
-    }
-
-    public FeedType[] getAllTypes() {
-        return feedTypes.values().toArray(new FeedType[feedTypes.size()]);
-    }
-
-    public FeedType getFeedType(Class<? extends Feed> c) throws InvalidFeedTypeException {
-        FeedType entry = feedTypes.get(c);
-        if (entry == null) {
-            throw new InvalidFeedTypeException();
-        }
-
-        return entry;
-    }
-}

Modified: trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java	2007-12-19 17:53:26 UTC (rev 160)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -4,6 +4,8 @@
 import org.jboss.blog.model.Post;
 import org.jboss.blog.service.FeedNotFoundException;
 import org.jboss.blog.service.FeedsService;
+import org.jboss.blog.session.feed.type.FeedTypesBean;
+import org.jboss.blog.session.feed.posts.FeedPosts;
 import org.jboss.seam.Component;
 import org.jboss.seam.annotations.AutoCreate;
 import org.jboss.seam.annotations.In;
@@ -41,17 +43,11 @@
             throw new FeedNotFoundException();
         }
     }
-
-    @SuppressWarnings("unchecked")
+    
     public List<Post> getPosts(Feed feed, int from, int to) {
         String feedPostsComponentName = feedTypes.getFeedType(feed.getClass()).getFeedPostsComponentName();
-        if (feedPostsComponentName != null) {
-            return ((FeedPosts) Component.getInstance(feedPostsComponentName)).getPosts(feed, from, to);
-        } else {
-            return (List<Post>) entityManager.createQuery(
-                    "select post from Post post where post.feed = ?1 order by post.published desc, post.link")
-                    .setParameter(1, feed).setMaxResults(to-from).setFirstResult(from).getResultList();
-        }
+
+        return ((FeedPosts) Component.getInstance(feedPostsComponentName)).getPosts(feed, from, to);
     }
 
     public List<Post> getPosts(String feedName, int from, int to) throws FeedNotFoundException {

Modified: trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedPostsBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedPostsBean.java	2007-12-19 17:53:26 UTC (rev 160)
+++ trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedPostsBean.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -2,7 +2,7 @@
 
 import org.jboss.blog.model.Feed;
 import org.jboss.blog.model.Post;
-import org.jboss.blog.session.feed.FeedPosts;
+import org.jboss.blog.session.feed.posts.FeedPosts;
 import org.jboss.seam.ScopeType;
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;

Modified: trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedTypeRegisterBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedTypeRegisterBean.java	2007-12-19 17:53:26 UTC (rev 160)
+++ trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedTypeRegisterBean.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -2,17 +2,14 @@
 
 import org.jboss.blog.model.AggregatedFeed;
 import org.jboss.blog.model.Feed;
-import org.jboss.blog.session.feed.FeedType;
-import org.jboss.blog.session.feed.FeedTypesBean;
-import org.jboss.seam.annotations.In;
+import org.jboss.blog.session.feed.type.AbstractFeedType;
 import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Observer;
 
 /**
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 @Name("aggregatedFeedTypeRegister")
-public class AggregatedFeedTypeRegisterBean implements FeedType {
+public class AggregatedFeedTypeRegisterBean extends AbstractFeedType {
     public String getName() {
         return "aggregated";
     }
@@ -36,12 +33,4 @@
     public String getFeedUpdateComponentName() {
         return null;
     }
-
-    @In
-    private FeedTypesBean feedTypes;
-
-    @Observer("org.jboss.seam.postInitialization")
-    public void register() {
-        feedTypes.registerType(this);
-    }
 }

Added: trunk/src/action/org/jboss/blog/session/feed/posts/DefaultFeedPostsBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/DefaultFeedPostsBean.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/feed/posts/DefaultFeedPostsBean.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -0,0 +1,28 @@
+package org.jboss.blog.session.feed.posts;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.ScopeType;
+import org.jboss.blog.model.Post;
+import org.jboss.blog.model.Feed;
+
+import javax.persistence.EntityManager;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("defaultFeedPosts")
+ at Scope(ScopeType.STATELESS)
+public class DefaultFeedPostsBean implements FeedPosts {
+    @In
+    private EntityManager entityManager;
+
+    @SuppressWarnings("unchecked")
+    public List<Post> getPosts(Feed feed, int from, int to) {
+        return (List<Post>) entityManager.createQuery(
+                "select post from Post post where post.feed = ?1 order by post.published desc, post.link")
+                .setParameter(1, feed).setMaxResults(to-from).setFirstResult(from).getResultList();
+    }
+}

Copied: trunk/src/action/org/jboss/blog/session/feed/posts/FeedPosts.java (from rev 159, trunk/src/action/org/jboss/blog/session/feed/FeedPosts.java)
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/FeedPosts.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/feed/posts/FeedPosts.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -0,0 +1,13 @@
+package org.jboss.blog.session.feed.posts;
+
+import org.jboss.blog.model.Feed;
+import org.jboss.blog.model.Post;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public interface FeedPosts {
+    public List<Post> getPosts(Feed feed, int from, int to);
+}

Modified: trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedTypeRegisterBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedTypeRegisterBean.java	2007-12-19 17:53:26 UTC (rev 160)
+++ trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedTypeRegisterBean.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -2,17 +2,14 @@
 
 import org.jboss.blog.model.RemoteFeed;
 import org.jboss.blog.model.Feed;
-import org.jboss.blog.session.feed.FeedType;
-import org.jboss.blog.session.feed.FeedTypesBean;
-import org.jboss.seam.annotations.In;
+import org.jboss.blog.session.feed.type.AbstractFeedType;
 import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Observer;
 
 /**
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 @Name("remoteFeedTypeRegister")
-public class RemoteFeedTypeRegisterBean implements FeedType {
+public class RemoteFeedTypeRegisterBean extends AbstractFeedType {
     public String getName() {
         return "remote";
     }
@@ -30,18 +27,10 @@
     }
 
     public String getFeedPostsComponentName() {
-        return null;
+        return "defaultFeedPosts";
     }
 
     public String getFeedUpdateComponentName() {
         return "remoteFeedUpdate";
     }
-
-    @In
-    private FeedTypesBean feedTypes;
-
-    @Observer("org.jboss.seam.postInitialization")
-    public void register() {
-        feedTypes.registerType(this);
-    }
 }

Added: trunk/src/action/org/jboss/blog/session/feed/type/AbstractFeedType.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/type/AbstractFeedType.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/feed/type/AbstractFeedType.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -0,0 +1,17 @@
+package org.jboss.blog.session.feed.type;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Observer;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public abstract class AbstractFeedType implements FeedType {
+    @In
+    private FeedTypesBean feedTypes;
+
+    @Observer("org.jboss.seam.postInitialization")
+    public void register() {
+        feedTypes.registerType(this);
+    }
+}

Copied: trunk/src/action/org/jboss/blog/session/feed/type/FeedType.java (from rev 159, trunk/src/action/org/jboss/blog/session/feed/FeedType.java)
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/type/FeedType.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/feed/type/FeedType.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -0,0 +1,16 @@
+package org.jboss.blog.session.feed.type;
+
+import org.jboss.blog.model.Feed;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public interface FeedType {
+    public String getName();
+    public Class<? extends Feed> getModelClass();
+    public String getAddPage();
+    public String getEditPage();
+    
+    public String getFeedPostsComponentName();
+    public String getFeedUpdateComponentName();
+}

Copied: trunk/src/action/org/jboss/blog/session/feed/type/FeedTypesBean.java (from rev 159, trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java)
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/type/FeedTypesBean.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/feed/type/FeedTypesBean.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -0,0 +1,42 @@
+package org.jboss.blog.session.feed.type;
+
+import org.jboss.blog.model.Feed;
+import org.jboss.blog.session.feed.InvalidFeedTypeException;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("feedTypes")
+ at Scope(ScopeType.APPLICATION)
+ at AutoCreate
+public class FeedTypesBean {
+    private Map<Class<? extends Feed>, FeedType> feedTypes;
+
+    public FeedTypesBean() {
+        feedTypes = new ConcurrentHashMap<Class<? extends Feed>, FeedType>();
+    }
+
+    public void registerType(FeedType feedType) {
+        feedTypes.put(feedType.getModelClass(), feedType);
+    }
+
+    public FeedType[] getAllTypes() {
+        return feedTypes.values().toArray(new FeedType[feedTypes.size()]);
+    }
+
+    public FeedType getFeedType(Class<? extends Feed> c) throws InvalidFeedTypeException {
+        FeedType entry = feedTypes.get(c);
+        if (entry == null) {
+            throw new InvalidFeedTypeException();
+        }
+
+        return entry;
+    }
+}

Modified: trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java	2007-12-19 17:53:26 UTC (rev 160)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java	2007-12-19 18:41:54 UTC (rev 161)
@@ -2,7 +2,7 @@
 
 import org.jboss.blog.model.Feed;
 import org.jboss.blog.service.FeedsService;
-import org.jboss.blog.session.feed.FeedTypesBean;
+import org.jboss.blog.session.feed.type.FeedTypesBean;
 import org.jboss.blog.session.feed.FeedUpdate;
 import org.jboss.seam.Component;
 import org.jboss.seam.annotations.AutoCreate;




More information about the jboss-cvs-commits mailing list