[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