[jboss-cvs] JBossBlog SVN: r190 - in trunk: resources/WEB-INF and 10 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Feb 5 12:34:16 EST 2008
Author: adamw
Date: 2008-02-05 12:34:16 -0500 (Tue, 05 Feb 2008)
New Revision: 190
Added:
trunk/lib/ehcache-1.2.3.jar
trunk/src/action/org/jboss/blog/session/cache/CacheManager.java
trunk/src/action/org/jboss/blog/session/cache/CacheManagerHashMapImpl.java
trunk/src/action/org/jboss/blog/session/cache/CacheManagerJBossCacheImpl.java
trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java
trunk/src/model/org/jboss/blog/model/post/filter/
trunk/src/model/org/jboss/blog/model/post/filter/AndFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/FilterAddBean.java
trunk/src/model/org/jboss/blog/model/post/filter/NotPodcastFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/PodcastFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/TotalFilter.java
trunk/src/test/org/jboss/blog/session/parser/RomeExample3.java
Removed:
trunk/lib/quartz.jar
trunk/src/action/org/jboss/blog/session/cache/CacheManager.java
trunk/src/action/org/jboss/blog/session/feed/posts/filter/
trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java
trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java
trunk/src/model/org/jboss/blog/model/post/filter/AndFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/FilterAddBean.java
trunk/src/model/org/jboss/blog/model/post/filter/NotPodcastFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/PodcastFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/TotalFilter.java
Modified:
trunk/lib/jboss-cache.jar
trunk/resources/WEB-INF/components.xml
trunk/src/action/org/jboss/blog/session/feed/dao/FeedDao.java
trunk/src/action/org/jboss/blog/session/feed/dao/RemoteFeedDao.java
trunk/src/action/org/jboss/blog/session/feed/mod/AggregatedFeedModBean.java
trunk/src/action/org/jboss/blog/session/parser/ParserServiceImpl.java
trunk/src/action/org/jboss/blog/session/update/UpdateException.java
trunk/src/action/org/jboss/blog/session/update/UpdateManager.java
trunk/src/test/org/jboss/blog/session/feed/posts/AggregatedFeedPostsTest.java
trunk/src/test/org/jboss/blog/session/parser/RomeExample2.java
Log:
Added: trunk/lib/ehcache-1.2.3.jar
===================================================================
(Binary files differ)
Property changes on: trunk/lib/ehcache-1.2.3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/lib/jboss-cache.jar
===================================================================
(Binary files differ)
Deleted: trunk/lib/quartz.jar
===================================================================
(Binary files differ)
Modified: trunk/resources/WEB-INF/components.xml
===================================================================
--- trunk/resources/WEB-INF/components.xml 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/resources/WEB-INF/components.xml 2008-02-05 17:34:16 UTC (rev 190)
@@ -30,15 +30,8 @@
auto-create="true"
persistence-unit-jndi-name="java:/blogEntityManagerFactory"/>
- <drools:rule-base name="securityRules">
- <drools:rule-files>
- <value>/security.drl</value>
- </drools:rule-files>
- </drools:rule-base>
+ <security:identity authenticate-method="#{authenticator.authenticate}" />
- <security:identity authenticate-method="#{authenticator.authenticate}"
- security-rules="#{securityRules}"/>
-
<event type="org.jboss.seam.notLoggedIn">
<action execute="#{redirect.captureCurrentView}"/>
</event>
@@ -59,21 +52,11 @@
<mail:mail-session host="localhost" port="2525" username="test" password="test" />
- <async:quartz-dispatcher />
+ <web:context-filter url-pattern="/feeds.seam" />
- <web:context-filter url-pattern="/feeds.seam"/>
-
<component name="linkService">
<property name="serverAddress">http://localhost:8080</property>
<property name="contextName">blog</property>
</component>
- <!-- For use with jBPM pageflow or process management -->
- <!--
- <bpm:jbpm>
- <bpm:process-definitions></bpm:process-definitions>
- <bpm:pageflow-definitions></bpm:pageflow-definitions>
- </bpm:jbpm>
- -->
-
</components>
Deleted: trunk/src/action/org/jboss/blog/session/cache/CacheManager.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/cache/CacheManager.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/cache/CacheManager.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,132 +0,0 @@
-package org.jboss.blog.session.cache;
-
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Logger;
-import org.jboss.seam.annotations.AutoCreate;
-import org.jboss.seam.log.Log;
-import org.jboss.cache.aop.PojoCache;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.CacheException;
-import org.jboss.blog.model.feed.RestrictedFeed;
-import org.jboss.blog.model.RestrictedPost;
-import org.jboss.blog.session.xml.content.InMemoryContentResponse;
-
-import java.lang.ref.SoftReference;
-import java.util.List;
-
-/**
- * TODO: check Soft References
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
- at Name("cacheManager")
- at AutoCreate
-public class CacheManager {
- @In
- private PojoCache pojoCache;
-
- @Logger
- private Log log;
-
- private final static Fqn BASE_FQN = new Fqn("blog");
- private final static Object CACHE_MAP_KEY = new Object();
-
- //
-
- private <T> T getFromSoftReference(SoftReference<T> reference) {
- if (reference == null) {
- return null;
- }
-
- return reference.get();
- }
-
- private void readPost(RestrictedPost post) {
- post.getFeed();
- post.getCategories();
- post.getEnclosures();
- post.getImages();
- }
-
- private void readPosts(List<? extends RestrictedPost> posts) {
- for (RestrictedPost post : posts) {
- readPost(post);
- }
- }
-
- //
-
- public void evictAll() {
- try {
- log.debug("Evicting everything from the cache.");
- pojoCache.remove(BASE_FQN);
- } catch (CacheException e) {
- log.error(e);
- }
- }
-
- //
-
- private Fqn getFeedPostsFqn(String feedName, int from, int to) {
- return new Fqn(BASE_FQN, feedName, from, to);
- }
-
- public void putFeedPosts(RestrictedFeed feed, List<? extends RestrictedPost> posts, int from, int to) {
- try {
- readPosts(posts);
-
- log.debug("Putting feed '#0' posts into the cache, from #1 to #2.", feed.getName(), from, to);
- pojoCache.put(getFeedPostsFqn(feed.getName(), from, to), CACHE_MAP_KEY,
- new SoftReference<List<? extends RestrictedPost>>(posts));
- } catch (CacheException e) {
- log.error(e);
- }
- }
-
- public List<? extends RestrictedPost> getFeedPosts(String feedName, int from, int to) {
- try {
- //noinspection unchecked
- List<? extends RestrictedPost> inCache =
- getFromSoftReference(((SoftReference<List<? extends RestrictedPost>>) pojoCache.get(
- getFeedPostsFqn(feedName, from, to), CACHE_MAP_KEY)));
- log.debug("Getting feed '#0' posts from the cache, from #1 to #2, result: #3.",
- feedName, from, to, inCache);
- return inCache;
- } catch (CacheException e) {
- log.error(e);
- return null;
- }
- }
-
- //
-
- private final static Object FEED_XML = new Object();
-
- private Fqn getFeedXmlFqn(String feedName, String feedType) {
- return new Fqn(BASE_FQN, FEED_XML, feedName, feedType == null ? null : feedType.toLowerCase());
- }
-
- public void putFeedXml(String feedName, String feedType, InMemoryContentResponse xml) {
- try {
- log.debug("Putting xml for feed '#0' to the cache, type: #1.", feedName, feedType);
- pojoCache.put(getFeedXmlFqn(feedName, feedType), CACHE_MAP_KEY,
- new SoftReference<InMemoryContentResponse>(xml));
- } catch (CacheException e) {
- log.error(e);
- }
- }
-
- public InMemoryContentResponse getFeedXml(String feedName, String feedType) {
- try {
- //noinspection unchecked
- InMemoryContentResponse inCache = getFromSoftReference(((SoftReference<InMemoryContentResponse>)
- pojoCache.get(getFeedXmlFqn(feedName, feedType), CACHE_MAP_KEY)));
- log.debug("Getting xml for feed '#0' from the cache, type: #1, result: #2.",
- feedName, feedType, inCache);
- return inCache;
- } catch (CacheException e) {
- log.error(e);
- return null;
- }
- }
-}
Added: trunk/src/action/org/jboss/blog/session/cache/CacheManager.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/cache/CacheManager.java (rev 0)
+++ trunk/src/action/org/jboss/blog/session/cache/CacheManager.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,22 @@
+package org.jboss.blog.session.cache;
+
+import org.jboss.blog.model.feed.RestrictedFeed;
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.session.xml.content.InMemoryContentResponse;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public interface CacheManager {
+ void evictAll();
+
+ void putFeedPosts(RestrictedFeed feed, List<? extends RestrictedPost> posts, int from, int to);
+
+ List<? extends RestrictedPost> getFeedPosts(String feedName, int from, int to);
+
+ void putFeedXml(String feedName, String feedType, InMemoryContentResponse xml);
+
+ InMemoryContentResponse getFeedXml(String feedName, String feedType);
+}
Added: trunk/src/action/org/jboss/blog/session/cache/CacheManagerHashMapImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/cache/CacheManagerHashMapImpl.java (rev 0)
+++ trunk/src/action/org/jboss/blog/session/cache/CacheManagerHashMapImpl.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,110 @@
+package org.jboss.blog.session.cache;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.log.Log;
+import org.jboss.blog.model.feed.RestrictedFeed;
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.session.xml.content.InMemoryContentResponse;
+
+import javax.annotation.PostConstruct;
+import java.lang.ref.SoftReference;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * TODO: check Soft References
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("cacheManager")
+ at AutoCreate
+public class CacheManagerHashMapImpl implements CacheManager {
+ @Logger
+ private Log log;
+
+ private Map<Object, Object> cache;
+
+ @PostConstruct
+ public void init() {
+ cache = new ConcurrentHashMap<Object, Object>();
+ }
+
+ //
+
+ private <T> T getFromSoftReference(SoftReference<T> reference) {
+ if (reference == null) {
+ return null;
+ }
+
+ return reference.get();
+ }
+
+ private void readPost(RestrictedPost post) {
+ post.getFeed();
+ post.getCategories();
+ post.getEnclosures();
+ post.getImages();
+ }
+
+ private void readPosts(List<? extends RestrictedPost> posts) {
+ for (RestrictedPost post : posts) {
+ readPost(post);
+ }
+ }
+
+ //
+
+ public void evictAll() {
+ log.debug("Evicting everything from the cache.");
+ cache.clear();
+ }
+
+ //
+
+ private String getFeedPostsFqn(String feedName, int from, int to) {
+ return feedName + "/" + from + "/" + to;
+ }
+
+ public void putFeedPosts(RestrictedFeed feed, List<? extends RestrictedPost> posts, int from, int to) {
+ readPosts(posts);
+
+ log.debug("Putting feed '#0' posts into the cache, from #1 to #2.", feed.getName(), from, to);
+
+ cache.put(getFeedPostsFqn(feed.getName(), from, to), new SoftReference<List<? extends RestrictedPost>>(posts));
+ }
+
+ public List<? extends RestrictedPost> getFeedPosts(String feedName, int from, int to) {
+ //noinspection unchecked
+ List<? extends RestrictedPost> inCache =
+ getFromSoftReference(((SoftReference<List<? extends RestrictedPost>>) cache.get(
+ getFeedPostsFqn(feedName, from, to))));
+ log.debug("Getting feed '#0' posts from the cache, from #1 to #2, result: #3.",
+ feedName, from, to, inCache);
+ return inCache;
+ }
+
+ //
+
+ private final static String FEED_XML = "$feedxml";
+
+ private String getFeedXmlFqn(String feedName, String feedType) {
+ return FEED_XML + "/" + feedName + "/" + (feedType == null ? null : feedType.toLowerCase());
+ }
+
+ public void putFeedXml(String feedName, String feedType, InMemoryContentResponse xml) {
+ log.debug("Putting xml for feed '#0' to the cache, type: #1.", feedName, feedType);
+ cache.put(getFeedXmlFqn(feedName, feedType),
+ new SoftReference<InMemoryContentResponse>(xml));
+ }
+
+ public InMemoryContentResponse getFeedXml(String feedName, String feedType) {
+ //noinspection unchecked
+ InMemoryContentResponse inCache = getFromSoftReference(((SoftReference<InMemoryContentResponse>)
+ cache.get(getFeedXmlFqn(feedName, feedType))));
+ log.debug("Getting xml for feed '#0' from the cache, type: #1, result: #2.",
+ feedName, feedType, inCache);
+ return inCache;
+ }
+}
\ No newline at end of file
Copied: trunk/src/action/org/jboss/blog/session/cache/CacheManagerJBossCacheImpl.java (from rev 189, trunk/src/action/org/jboss/blog/session/cache/CacheManager.java)
===================================================================
--- trunk/src/action/org/jboss/blog/session/cache/CacheManagerJBossCacheImpl.java (rev 0)
+++ trunk/src/action/org/jboss/blog/session/cache/CacheManagerJBossCacheImpl.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,128 @@
+package org.jboss.blog.session.cache;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.log.Log;
+import org.jboss.cache.aop.PojoCache;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.CacheException;
+import org.jboss.blog.model.feed.RestrictedFeed;
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.session.xml.content.InMemoryContentResponse;
+
+import java.lang.ref.SoftReference;
+import java.util.List;
+
+/**
+ * TODO: fix, doesn't work
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class CacheManagerJBossCacheImpl implements CacheManager {
+ @In
+ private PojoCache pojoCache;
+
+ @Logger
+ private Log log;
+
+ private final static Fqn BASE_FQN = new Fqn("blog");
+ private final static Object CACHE_MAP_KEY = new Object();
+
+ //
+
+ private <T> T getFromSoftReference(SoftReference<T> reference) {
+ if (reference == null) {
+ return null;
+ }
+
+ return reference.get();
+ }
+
+ private void readPost(RestrictedPost post) {
+ post.getFeed();
+ post.getCategories();
+ post.getEnclosures();
+ post.getImages();
+ }
+
+ private void readPosts(List<? extends RestrictedPost> posts) {
+ for (RestrictedPost post : posts) {
+ readPost(post);
+ }
+ }
+
+ //
+
+ public void evictAll() {
+ try {
+ log.debug("Evicting everything from the cache.");
+ pojoCache.remove(BASE_FQN);
+ } catch (CacheException e) {
+ log.error(e);
+ }
+ }
+
+ //
+
+ private Fqn getFeedPostsFqn(String feedName, int from, int to) {
+ return new Fqn(BASE_FQN, feedName, from, to);
+ }
+
+ public void putFeedPosts(RestrictedFeed feed, List<? extends RestrictedPost> posts, int from, int to) {
+ try {
+ readPosts(posts);
+
+ log.debug("Putting feed '#0' posts into the cache, from #1 to #2.", feed.getName(), from, to);
+ pojoCache.put(getFeedPostsFqn(feed.getName(), from, to), CACHE_MAP_KEY,
+ new SoftReference<List<? extends RestrictedPost>>(posts));
+ } catch (CacheException e) {
+ log.error(e);
+ }
+ }
+
+ public List<? extends RestrictedPost> getFeedPosts(String feedName, int from, int to) {
+ try {
+ //noinspection unchecked
+ List<? extends RestrictedPost> inCache =
+ getFromSoftReference(((SoftReference<List<? extends RestrictedPost>>) pojoCache.get(
+ getFeedPostsFqn(feedName, from, to), CACHE_MAP_KEY)));
+ log.debug("Getting feed '#0' posts from the cache, from #1 to #2, result: #3.",
+ feedName, from, to, inCache);
+ return inCache;
+ } catch (CacheException e) {
+ log.error(e);
+ return null;
+ }
+ }
+
+ //
+
+ private final static Object FEED_XML = new Object();
+
+ private Fqn getFeedXmlFqn(String feedName, String feedType) {
+ return new Fqn(BASE_FQN, FEED_XML, feedName, feedType == null ? null : feedType.toLowerCase());
+ }
+
+ public void putFeedXml(String feedName, String feedType, InMemoryContentResponse xml) {
+ try {
+ log.debug("Putting xml for feed '#0' to the cache, type: #1.", feedName, feedType);
+ pojoCache.put(getFeedXmlFqn(feedName, feedType), CACHE_MAP_KEY,
+ new SoftReference<InMemoryContentResponse>(xml));
+ } catch (CacheException e) {
+ log.error(e);
+ }
+ }
+
+ public InMemoryContentResponse getFeedXml(String feedName, String feedType) {
+ try {
+ //noinspection unchecked
+ InMemoryContentResponse inCache = getFromSoftReference(((SoftReference<InMemoryContentResponse>)
+ pojoCache.get(getFeedXmlFqn(feedName, feedType), CACHE_MAP_KEY)));
+ log.debug("Getting xml for feed '#0' from the cache, type: #1, result: #2.",
+ feedName, feedType, inCache);
+ return inCache;
+ } catch (CacheException e) {
+ log.error(e);
+ return null;
+ }
+ }
+}
Modified: trunk/src/action/org/jboss/blog/session/feed/dao/FeedDao.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/dao/FeedDao.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/feed/dao/FeedDao.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,6 +1,7 @@
package org.jboss.blog.session.feed.dao;
import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.session.update.UpdateException;
import java.util.List;
@@ -10,5 +11,5 @@
public interface FeedDao {
public List<? extends RestrictedPost> getPosts(int from, int to);
- public void update();
+ public void update() throws UpdateException;
}
Modified: trunk/src/action/org/jboss/blog/session/feed/dao/RemoteFeedDao.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/dao/RemoteFeedDao.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/feed/dao/RemoteFeedDao.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -5,6 +5,7 @@
import org.jboss.blog.session.feed.posts.DatabaseFeedPosts;
import org.jboss.blog.session.feed.type.FeedType;
import org.jboss.blog.session.feed.update.RemoteFeedUpdate;
+import org.jboss.blog.session.update.UpdateException;
import org.jboss.seam.Component;
import java.util.List;
@@ -29,7 +30,7 @@
remoteFeed, from, to);
}
- public void update() {
+ public void update() throws UpdateException {
((RemoteFeedUpdate) Component.getInstance("remoteFeedUpdate")).update(remoteFeed);
}
}
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-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/feed/mod/AggregatedFeedModBean.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -6,7 +6,7 @@
import org.jboss.blog.model.post.PostFilter;
import org.jboss.blog.service.FeedsService;
import org.jboss.blog.session.feed.InvalidFeedTypeException;
-import org.jboss.blog.session.feed.posts.filter.AndFilter;
+import org.jboss.blog.model.post.filter.AndFilter;
import org.jboss.blog.session.view.LinkServiceBean;
import org.jboss.blog.tools.GeneralTools;
import org.jboss.seam.ScopeType;
Modified: trunk/src/action/org/jboss/blog/session/parser/ParserServiceImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/parser/ParserServiceImpl.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/parser/ParserServiceImpl.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -23,6 +23,7 @@
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import java.net.URLConnection;
import java.util.*;
/**
@@ -56,8 +57,14 @@
public Feed parse(String link) throws ParserException {
try {
SyndFeedInput input = new SyndFeedInput();
- SyndFeed syndFeed = input.build(new XmlReader(new URL(link)));
+ URLConnection conn = new URL(link).openConnection();
+ conn.setReadTimeout(3000);
+ conn.setConnectTimeout(5000);
+ conn.connect();
+
+ SyndFeed syndFeed = input.build(new XmlReader(conn.getInputStream()));
+
Feed feed = new Feed();
feed.setAuthor(syndFeed.getAuthor());
Modified: trunk/src/action/org/jboss/blog/session/update/UpdateException.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateException.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateException.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -3,7 +3,7 @@
/**
* @author <a href="mailto:adam at warski.org">Adam Warski</a>
*/
-public class UpdateException extends RuntimeException {
+public class UpdateException extends Exception {
public UpdateException() {
}
Deleted: trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,19 +0,0 @@
-package org.jboss.blog.session.update;
-
-import org.jboss.seam.annotations.async.Asynchronous;
-import org.jboss.seam.annotations.async.Expiration;
-import org.jboss.seam.annotations.async.IntervalDuration;
-
-import javax.ejb.Local;
-import java.util.Date;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
- at Local
-public interface UpdateHandler {
- @Asynchronous
- void update(@Expiration Date expiration, @IntervalDuration long interval);
-
- void remove();
-}
Copied: trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java (from rev 183, trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java)
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java (rev 0)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,46 @@
+package org.jboss.blog.session.update;
+
+import org.jboss.blog.model.feed.Feed;
+import org.jboss.blog.model.Group;
+import org.jboss.blog.service.FeedsService;
+import org.jboss.blog.session.feed.type.FeedTypes;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.ScopeType;
+
+import javax.ejb.Remove;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("updateHandler")
+ at Scope(ScopeType.STATELESS)
+ at AutoCreate
+public class UpdateHandler {
+ @In
+ private FeedsService feedsService;
+
+ @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());
+ }
+ }
+ }
+ }
+ }
+
+ @Remove
+ public void remove() { }
+}
Deleted: trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,40 +0,0 @@
-package org.jboss.blog.session.update;
-
-import org.jboss.blog.model.feed.Feed;
-import org.jboss.blog.model.Group;
-import org.jboss.blog.service.FeedsService;
-import org.jboss.blog.session.feed.type.FeedTypes;
-import org.jboss.seam.annotations.AutoCreate;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Name;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateless;
-import java.util.Date;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
- at Name("updateHandler")
- at Stateless
- at AutoCreate
-public class UpdateHandlerImpl implements UpdateHandler {
- @In
- private FeedsService feedsService;
-
- @In
- private FeedTypes feedTypes;
-
- public void update(Date expiration, long interval) {
- for (Group group : feedsService.getAllGroups()) {
- for (Feed feed : group.getFeeds()) {
- if (feed.isAccepted()) {
- feedTypes.getFeedDao(feed).update();
- }
- }
- }
- }
-
- @Remove
- public void remove() { }
-}
Modified: trunk/src/action/org/jboss/blog/session/update/UpdateManager.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateManager.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateManager.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,9 +1,20 @@
package org.jboss.blog.session.update;
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.*;
-import java.util.Date;
+import javax.transaction.UserTransaction;
+import javax.transaction.Status;
+import javax.transaction.SystemException;
+import javax.persistence.EntityManager;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
/**
* @author <a href="mailto:adam at warski.org">Adam Warski</a>
@@ -11,12 +22,57 @@
@Name("updateManager")
@Scope(ScopeType.APPLICATION)
public class UpdateManager {
- @In
- private UpdateHandler updateHandler;
+ private ScheduledExecutorService executor;
@Observer("org.jboss.blog.postBlogInit")
public void register() {
+ executor = Executors.newScheduledThreadPool(10);
+
// TODO: add monitor and configurable intervals
- // updateHandler.update(new Date(System.currentTimeMillis() + 3000), 60000 * 10);
+
+ executor.scheduleAtFixedRate(new UpdateRunnable(), 3, 20, TimeUnit.SECONDS);
}
+
+ // TODO: the cache in this thread is not updated
+ private static class UpdateRunnable implements Runnable {
+ public void run() {
+ boolean createContexts = !Contexts.isEventContextActive() && !Contexts.isApplicationContextActive();
+ if (createContexts) {
+ Lifecycle.beginCall();
+ }
+
+ try {
+ UserTransaction tx = null;
+ boolean txStarted = false;
+ try {
+ tx = (UserTransaction) Component.getInstance("org.jboss.seam.transaction.transaction");
+ if (tx.getStatus() != Status.STATUS_ACTIVE) {
+ txStarted = true;
+ tx.begin();
+ }
+
+ ((EntityManager) Component.getInstance("entityManager")).joinTransaction();
+ ((UpdateHandler) Component.getInstance("updateHandler")).update();
+
+ if (txStarted) {
+ tx.commit();
+ }
+ } catch (Exception e) {
+ try {
+ if (txStarted) {
+ tx.rollback();
+ }
+ } catch (SystemException e1) {
+ Logging.getLog(UpdateManager.class).error("Exception when rolling back the transaction", e1);
+ }
+
+ e.printStackTrace();
+ }
+ } finally {
+ if (createContexts) {
+ Lifecycle.endCall();
+ }
+ }
+ }
+ }
}
Copied: trunk/src/model/org/jboss/blog/model/post/filter (from rev 175, trunk/src/action/org/jboss/blog/session/feed/posts/filter)
Deleted: trunk/src/model/org/jboss/blog/model/post/filter/AndFilter.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/filter/AndFilter.java 2008-01-18 19:09:09 UTC (rev 175)
+++ trunk/src/model/org/jboss/blog/model/post/filter/AndFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,71 +0,0 @@
-package org.jboss.blog.session.feed.posts.filter;
-
-import org.jboss.blog.model.Post;
-import org.jboss.blog.model.post.PostFilter;
-
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
-public class AndFilter implements PostFilter {
- private static final long serialVersionUID = 6716831026867502343L;
-
- private List<PostFilter> filters;
-
- public AndFilter() {
- filters = new ArrayList<PostFilter>();
- }
-
- public AndFilter(List<PostFilter> filters) {
- this.filters = filters;
- }
-
- public List<PostFilter> getFilters() {
- return filters;
- }
-
- public void setFilters(List<PostFilter> filters) {
- this.filters = filters;
- }
-
- public boolean filter(Post post) {
- for (PostFilter filter : filters) {
- if (!filter.filter(post)) {
- return false;
- }
- }
-
- return true;
- }
-
- public String toString() {
- StringBuilder result = new StringBuilder();
- result.append("And(");
- for (Iterator<PostFilter> iter = filters.iterator(); iter.hasNext();) {
- result.append(iter.next().toString());
- if (iter.hasNext()) {
- result.append(", ");
- }
- }
-
- return result.append(")").toString();
- }
-
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof AndFilter)) return false;
-
- AndFilter andFilter = (AndFilter) o;
-
- if (filters != null ? !filters.equals(andFilter.filters) : andFilter.filters != null) return false;
-
- return true;
- }
-
- public int hashCode() {
- return (filters != null ? filters.hashCode() : 0);
- }
-}
Copied: trunk/src/model/org/jboss/blog/model/post/filter/AndFilter.java (from rev 189, trunk/src/action/org/jboss/blog/session/feed/posts/filter/AndFilter.java)
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/AndFilter.java (rev 0)
+++ trunk/src/model/org/jboss/blog/model/post/filter/AndFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,71 @@
+package org.jboss.blog.model.post.filter;
+
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.model.post.PostFilter;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class AndFilter implements PostFilter {
+ private static final long serialVersionUID = 6716831026867502343L;
+
+ private List<PostFilter> filters;
+
+ public AndFilter() {
+ filters = new ArrayList<PostFilter>();
+ }
+
+ public AndFilter(List<PostFilter> filters) {
+ this.filters = filters;
+ }
+
+ public List<PostFilter> getFilters() {
+ return filters;
+ }
+
+ public void setFilters(List<PostFilter> filters) {
+ this.filters = filters;
+ }
+
+ public boolean filter(RestrictedPost post) {
+ for (PostFilter filter : filters) {
+ if (!filter.filter(post)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public String toString() {
+ StringBuilder result = new StringBuilder();
+ result.append("And(");
+ for (Iterator<PostFilter> iter = filters.iterator(); iter.hasNext();) {
+ result.append(iter.next().toString());
+ if (iter.hasNext()) {
+ result.append(", ");
+ }
+ }
+
+ return result.append(")").toString();
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof AndFilter)) return false;
+
+ AndFilter andFilter = (AndFilter) o;
+
+ if (filters != null ? !filters.equals(andFilter.filters) : andFilter.filters != null) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ return (filters != null ? filters.hashCode() : 0);
+ }
+}
Deleted: trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/filter/AuthorRegexpFilter.java 2008-01-18 19:09:09 UTC (rev 175)
+++ trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,65 +0,0 @@
-package org.jboss.blog.session.feed.posts.filter;
-
-import org.jboss.blog.model.Post;
-import org.jboss.blog.model.post.PostFilter;
-import org.jboss.blog.tools.validator.Regexp;
-
-import java.util.regex.Pattern;
-import java.io.IOException;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
-public class AuthorRegexpFilter implements PostFilter {
- private static final long serialVersionUID = 2015864901762113142L;
-
- @Regexp
- private String regexp;
-
- private transient Pattern pattern;
-
- public String getRegexp() {
- return regexp;
- }
-
- public void setRegexp(String regexp) {
- this.regexp = regexp;
-
- pattern = Pattern.compile(this.regexp);
- }
-
- public boolean filter(Post post) {
- return pattern.matcher(post.getAuthor()).matches();
- }
-
- private void writeObject(java.io.ObjectOutputStream out)
- throws IOException {
- out.defaultWriteObject();
- }
-
- private void readObject(java.io.ObjectInputStream in)
- throws IOException, ClassNotFoundException {
- in.defaultReadObject();
-
- setRegexp(getRegexp());
- }
-
- public String toString() {
- return "Author matching regexp: " + regexp;
- }
-
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof AuthorRegexpFilter)) return false;
-
- AuthorRegexpFilter that = (AuthorRegexpFilter) o;
-
- if (regexp != null ? !regexp.equals(that.regexp) : that.regexp != null) return false;
-
- return true;
- }
-
- public int hashCode() {
- return (regexp != null ? regexp.hashCode() : 0);
- }
-}
Copied: trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java (from rev 189, trunk/src/action/org/jboss/blog/session/feed/posts/filter/AuthorRegexpFilter.java)
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java (rev 0)
+++ trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,65 @@
+package org.jboss.blog.model.post.filter;
+
+import org.jboss.blog.model.post.PostFilter;
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.tools.validator.Regexp;
+
+import java.util.regex.Pattern;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class AuthorRegexpFilter implements PostFilter {
+ private static final long serialVersionUID = 2015864901762113142L;
+
+ @Regexp
+ private String regexp;
+
+ private transient Pattern pattern;
+
+ public String getRegexp() {
+ return regexp;
+ }
+
+ public void setRegexp(String regexp) {
+ this.regexp = regexp;
+
+ pattern = Pattern.compile(this.regexp);
+ }
+
+ public boolean filter(RestrictedPost post) {
+ return pattern.matcher(post.getAuthor()).matches();
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out)
+ throws IOException {
+ out.defaultWriteObject();
+ }
+
+ private void readObject(java.io.ObjectInputStream in)
+ throws IOException, ClassNotFoundException {
+ in.defaultReadObject();
+
+ setRegexp(getRegexp());
+ }
+
+ public String toString() {
+ return "Author matching regexp: " + regexp;
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof AuthorRegexpFilter)) return false;
+
+ AuthorRegexpFilter that = (AuthorRegexpFilter) o;
+
+ if (regexp != null ? !regexp.equals(that.regexp) : that.regexp != null) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ return (regexp != null ? regexp.hashCode() : 0);
+ }
+}
Deleted: trunk/src/model/org/jboss/blog/model/post/filter/FilterAddBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/filter/FilterAddBean.java 2008-01-18 19:09:09 UTC (rev 175)
+++ trunk/src/model/org/jboss/blog/model/post/filter/FilterAddBean.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,55 +0,0 @@
-package org.jboss.blog.session.feed.posts.filter;
-
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.ScopeType;
-import org.jboss.blog.model.post.PostFilter;
-
-import java.util.List;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
- at Name("filterAdd")
- at Scope(ScopeType.CONVERSATION)
-public class FilterAddBean {
- private List<PostFilter> addToList;
-
- private PodcastFilter podcastFilter;
-
- private NotPodcastFilter notPodcastFilter;
-
- private AuthorRegexpFilter authorRegexpFilter;
-
- public PodcastFilter getPodcastFilter() {
- if (podcastFilter == null) {
- podcastFilter = new PodcastFilter();
- }
-
- return podcastFilter;
- }
-
- public NotPodcastFilter getNotPodcastFilter() {
- if (notPodcastFilter == null) {
- notPodcastFilter = new NotPodcastFilter();
- }
-
- return notPodcastFilter;
- }
-
- public AuthorRegexpFilter getAuthorRegexpFilter() {
- if (authorRegexpFilter == null) {
- authorRegexpFilter = new AuthorRegexpFilter();
- }
-
- return authorRegexpFilter;
- }
-
- public void add(PostFilter filter) {
- addToList.add(filter);
- }
-
- public void addToList(List<PostFilter> addToList) {
- this.addToList = addToList;
- }
-}
Copied: trunk/src/model/org/jboss/blog/model/post/filter/FilterAddBean.java (from rev 189, trunk/src/action/org/jboss/blog/session/feed/posts/filter/FilterAddBean.java)
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/FilterAddBean.java (rev 0)
+++ trunk/src/model/org/jboss/blog/model/post/filter/FilterAddBean.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,57 @@
+package org.jboss.blog.model.post.filter;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.ScopeType;
+import org.jboss.blog.model.post.PostFilter;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("filterAdd")
+ at Scope(ScopeType.CONVERSATION)
+public class FilterAddBean {
+ private List<PostFilter> addToList;
+
+ private PodcastFilter podcastFilter;
+
+ private NotPodcastFilter notPodcastFilter;
+
+ private AuthorRegexpFilter authorRegexpFilter;
+
+ public PodcastFilter getPodcastFilter() {
+ if (podcastFilter == null) {
+ podcastFilter = new PodcastFilter();
+ }
+
+ return podcastFilter;
+ }
+
+ public NotPodcastFilter getNotPodcastFilter() {
+ if (notPodcastFilter == null) {
+ notPodcastFilter = new NotPodcastFilter();
+ }
+
+ return notPodcastFilter;
+ }
+
+ public AuthorRegexpFilter getAuthorRegexpFilter() {
+ if (authorRegexpFilter == null) {
+ authorRegexpFilter = new AuthorRegexpFilter();
+ }
+
+ return authorRegexpFilter;
+ }
+
+ public void add(PostFilter filter) {
+ addToList.add(filter);
+ }
+
+ public void addToList(List<PostFilter> addToList) {
+ this.addToList = addToList;
+ }
+
+ public void cancel() { }
+}
Deleted: trunk/src/model/org/jboss/blog/model/post/filter/NotPodcastFilter.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/filter/NotPodcastFilter.java 2008-01-18 19:09:09 UTC (rev 175)
+++ trunk/src/model/org/jboss/blog/model/post/filter/NotPodcastFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,30 +0,0 @@
-package org.jboss.blog.session.feed.posts.filter;
-
-import org.jboss.blog.model.Post;
-import org.jboss.blog.model.post.PostFilter;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
-public class NotPodcastFilter implements PostFilter {
- private static final long serialVersionUID = 3962316121420952911L;
-
- public boolean filter(Post post) {
- return post.getEnclosures() == null || post.getEnclosures().size() == 0;
- }
-
- public String toString() {
- return "No enclosure (not a podcast entry)";
- }
-
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof NotPodcastFilter)) return false;
-
- return true;
- }
-
- public int hashCode() {
- return NotPodcastFilter.class.hashCode();
- }
-}
Copied: trunk/src/model/org/jboss/blog/model/post/filter/NotPodcastFilter.java (from rev 189, trunk/src/action/org/jboss/blog/session/feed/posts/filter/NotPodcastFilter.java)
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/NotPodcastFilter.java (rev 0)
+++ trunk/src/model/org/jboss/blog/model/post/filter/NotPodcastFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,30 @@
+package org.jboss.blog.model.post.filter;
+
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.model.post.PostFilter;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class NotPodcastFilter implements PostFilter {
+ private static final long serialVersionUID = 3962316121420952911L;
+
+ public boolean filter(RestrictedPost post) {
+ return post.getEnclosures() == null || post.getEnclosures().size() == 0;
+ }
+
+ public String toString() {
+ return "No enclosure (not a podcast entry)";
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof NotPodcastFilter)) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ return NotPodcastFilter.class.hashCode();
+ }
+}
Deleted: trunk/src/model/org/jboss/blog/model/post/filter/PodcastFilter.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/filter/PodcastFilter.java 2008-01-18 19:09:09 UTC (rev 175)
+++ trunk/src/model/org/jboss/blog/model/post/filter/PodcastFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,30 +0,0 @@
-package org.jboss.blog.session.feed.posts.filter;
-
-import org.jboss.blog.model.Post;
-import org.jboss.blog.model.post.PostFilter;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
-public class PodcastFilter implements PostFilter {
- private static final long serialVersionUID = -1115632975507749056L;
-
- public boolean filter(Post post) {
- return post.getEnclosures() != null && post.getEnclosures().size() != 0;
- }
-
- public String toString() {
- return "With enclosure (a podcast entry)";
- }
-
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof PodcastFilter)) return false;
-
- return true;
- }
-
- public int hashCode() {
- return PodcastFilter.class.hashCode();
- }
-}
Copied: trunk/src/model/org/jboss/blog/model/post/filter/PodcastFilter.java (from rev 189, trunk/src/action/org/jboss/blog/session/feed/posts/filter/PodcastFilter.java)
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/PodcastFilter.java (rev 0)
+++ trunk/src/model/org/jboss/blog/model/post/filter/PodcastFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,30 @@
+package org.jboss.blog.model.post.filter;
+
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.model.post.PostFilter;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class PodcastFilter implements PostFilter {
+ private static final long serialVersionUID = -1115632975507749056L;
+
+ public boolean filter(RestrictedPost post) {
+ return post.getEnclosures() != null && post.getEnclosures().size() != 0;
+ }
+
+ public String toString() {
+ return "With enclosure (a podcast entry)";
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof PodcastFilter)) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ return PodcastFilter.class.hashCode();
+ }
+}
Deleted: trunk/src/model/org/jboss/blog/model/post/filter/TotalFilter.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/posts/filter/TotalFilter.java 2008-01-18 19:09:09 UTC (rev 175)
+++ trunk/src/model/org/jboss/blog/model/post/filter/TotalFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -1,30 +0,0 @@
-package org.jboss.blog.session.feed.posts.filter;
-
-import org.jboss.blog.model.Post;
-import org.jboss.blog.model.post.PostFilter;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
-public class TotalFilter implements PostFilter {
- private static final long serialVersionUID = -8839681871861904116L;
-
- public boolean filter(Post post) {
- return true;
- }
-
- public String toString() {
- return "Everything";
- }
-
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof TotalFilter)) return false;
-
- return true;
- }
-
- public int hashCode() {
- return TotalFilter.class.hashCode();
- }
-}
Copied: trunk/src/model/org/jboss/blog/model/post/filter/TotalFilter.java (from rev 189, trunk/src/action/org/jboss/blog/session/feed/posts/filter/TotalFilter.java)
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/TotalFilter.java (rev 0)
+++ trunk/src/model/org/jboss/blog/model/post/filter/TotalFilter.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,30 @@
+package org.jboss.blog.model.post.filter;
+
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.model.post.PostFilter;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class TotalFilter implements PostFilter {
+ private static final long serialVersionUID = -8839681871861904116L;
+
+ public boolean filter(RestrictedPost post) {
+ return true;
+ }
+
+ public String toString() {
+ return "Everything";
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof TotalFilter)) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ return TotalFilter.class.hashCode();
+ }
+}
Modified: trunk/src/test/org/jboss/blog/session/feed/posts/AggregatedFeedPostsTest.java
===================================================================
--- trunk/src/test/org/jboss/blog/session/feed/posts/AggregatedFeedPostsTest.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/test/org/jboss/blog/session/feed/posts/AggregatedFeedPostsTest.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -11,7 +11,7 @@
import org.jboss.blog.model.post.PostFilter;
import org.jboss.blog.service.FeedsService;
import org.jboss.blog.tools.TestTools;
-import org.jboss.blog.session.feed.posts.filter.TotalFilter;
+import org.jboss.blog.model.post.filter.TotalFilter;
import java.util.*;
Modified: trunk/src/test/org/jboss/blog/session/parser/RomeExample2.java
===================================================================
--- trunk/src/test/org/jboss/blog/session/parser/RomeExample2.java 2008-02-05 10:36:59 UTC (rev 189)
+++ trunk/src/test/org/jboss/blog/session/parser/RomeExample2.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -5,7 +5,6 @@
import com.sun.syndication.io.FeedException;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndEntry;
-import com.sun.syndication.feed.module.Module;
import java.net.URL;
import java.io.IOException;
Copied: trunk/src/test/org/jboss/blog/session/parser/RomeExample3.java (from rev 185, trunk/src/test/org/jboss/blog/session/parser/RomeExample2.java)
===================================================================
--- trunk/src/test/org/jboss/blog/session/parser/RomeExample3.java (rev 0)
+++ trunk/src/test/org/jboss/blog/session/parser/RomeExample3.java 2008-02-05 17:34:16 UTC (rev 190)
@@ -0,0 +1,31 @@
+package org.jboss.blog.session.parser;
+
+import com.sun.syndication.io.SyndFeedInput;
+import com.sun.syndication.io.XmlReader;
+import com.sun.syndication.io.FeedException;
+import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.feed.synd.SyndEntry;
+import com.sun.syndication.feed.module.Module;
+
+import java.net.URL;
+import java.net.URLConnection;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class RomeExample3 {
+ public static void main(String[] args) throws IOException, FeedException, ParserException {
+ /*SyndFeedInput input = new SyndFeedInput();
+
+ URLConnection conn = new URL("http://www.warski.org/blog/?feed=rss2").openConnection();
+ conn.setReadTimeout(3000);
+ conn.setConnectTimeout(5000);
+ conn.connect();
+
+ SyndFeed syndFeed = input.build(new XmlReader(conn.getInputStream()));*/
+
+ new ParserServiceImpl().parse("http://www.warski.org/blog/?feed=rss2");
+ }
+}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list