diff --git a/README.md b/README.md new file mode 100644 index 0000000..49d2dfe --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +rome +==== + +ROME is a set of RSS and Atom Utilities for Java. It makes it easy to work in Java with most syndication formats: RSS 0.90, RSS 0.91 Netscape, +RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0 + +More Information: http://rometools.github.io/rome-fetcher/ diff --git a/pom.xml b/pom.xml index 60eac42..94633c7 100644 --- a/pom.xml +++ b/pom.xml @@ -7,18 +7,18 @@ 1.2 2004 A well behaved feed fetcher API for ROME - http://www.rometools.org + http://rometools.github.io/rome-fetcher/ ROME Project - http://rometools.jira.com + https://github.com/rometools/ - https://rometools.jira.com/secure/IssueNavigator.jspa + https://github.com/rometools/rome-fetcher/issues - scm:svn:https://rometools.jira.com/svn/FETCHER/trunk - scm:svn:https://rometools.jira.com/svn/FETCHER/trunk - https://rometools.jira.com/source/browse/FETCHER + scm:git:git@github.com:rometools/rome-fetcher.git + scm:git:git@github.com:rometools/rome-fetcher.git + https://github.com/rometools/rome-fetcher/ @@ -89,12 +89,30 @@ org.apache.maven.plugins maven-resources-plugin - 2.2 + 2.6 ${project.build.sourceEncoding} - + + org.apache.maven.plugins + maven-site-plugin + 3.3 + + 9000 + ${basedir}/target/site/tempdir + + + + org.apache.maven.plugins + maven-scm-publish-plugin + 1.0-beta-2 + + gh-pages + scm:git:git@github.com:rometools/rome-fetcher.git + ${project.build.directory}/site + + @@ -237,4 +255,32 @@ UTF-8 + + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 2.6 + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9 + + + + javadoc + + + + aggregate + false + + aggregate + + + + + + \ No newline at end of file diff --git a/src/site/apt/BuildingTheRomeFetcher.apt b/src/site/apt/BuildingTheRomeFetcher.apt new file mode 100644 index 0000000..83ecc7d --- /dev/null +++ b/src/site/apt/BuildingTheRomeFetcher.apt @@ -0,0 +1,11 @@ + ----- + Building the Rome Fetcher + ----- + mkurz + ----- + 2011-08-15 17:34:51.402 + ----- + +Building the Rome Fetcher + + The Rome Fetcher can build using Maven 2. diff --git a/src/site/apt/ChangeLog.apt b/src/site/apt/ChangeLog.apt new file mode 100644 index 0000000..aafacf6 --- /dev/null +++ b/src/site/apt/ChangeLog.apt @@ -0,0 +1,113 @@ + ----- + Change Log + ----- + mkurz + ----- + 2011-08-15 17:27:20.212 + ----- + +Change Log + +*Prior to first release (on the way to v0.3) + + [[1]] Updated to handle removal of IO methods using byte streams\ + Byte Stream IO was removed from Rome itself. The Rome Fetcher is now updated to support this + + [[1]] Add FeedFetcherI interface and FeedFetcherFactory class\ + There is now a FeedFetcherI interface, which FeedFetcher implements. Use FeedFetcherFactory to create instances of + FeedFetcher (as suggested by Joseph Ottinger) (FeedFetcherFactory was later removed) + + [[1]] Event Support Added to FeedFetcherI\ + The FeedFetcherI interface now supports feed polled, feed retrieved and feed unchanged events + + [[1]] Samples added\ + Samples are now included with the Rome Fetcher + + [[1]] Unit Tests Added\ + JUnit based tests which invoke the Rome Fetcher against an embedded Jetty webserver are now included + + [[1]] Bug fixes in the FeedFetcher event model\ + The JUnit test suite uncovered some bugs in the event model used by the FeedFetcher. These bugs are now fixed. + + [[1]] Refactored the SyndFeedInfo class\ + SyndFeedInfo now extends ObjectBean + + [[1]] Removed FeedFetcherFactory\ + The benefit of the FeedFetcherFactory was arguable. Now the client code will need to manage the creation of specific implementations of the FeedFetcher + + [] + +*Prior to second release (on the way to v0.4) + + [[1]] Refectored to match Rome naming standards\ + FeedFetcherI renamed to FeedFetcher\ + #. New FeedFetcher Implementation\ + HttpClientFeedFetcher uses the Apache Commons HTTP Client + + [[1]] Abstract test classes excluded in project.xml\ + Tests now run correctly under Maven + + [[1]] Added GZip support to HttpClientFeedFetcher\ + HttpClientFeedFetcher now supports GZip compression. Tests have been added. + + [] + +*Prior to third release (on the way to v0.5) + + [[1]] SyndFeedInfo implements Serializable\ + SyndFeedInfo implements Serializable to make it easier to store + + [[1]] Support for rfc3229 delta encoding\ + The Fetcher now supports rfc3229 delta encoding. See {{{http://www.ietf.org/rfc/rfc3229.txt}http://www.ietf.org/rfc/rfc3229.txt}} and + {{{http://bobwyman.pubsub.com/main/2004/09/using_rfc3229_w.html}http://bobwyman.pubsub.com/main/2004/09/using_rfc3229_w.html}}. + Note that this is support is experimental and disabled by default + + [] + +*Prior to 0.6 + + [[1]] Feed passed to FetcherEvents\ + When a feed is retrieved it is now passed to the Fetcher Event. This makes it easier to code applications using an event oriented style. + + [] + +*Prior to 0.7 + + [[1]] Fix for URL Connection leak\ + In some circumstances URLConnection objects were not closed. This could cause problems in long\-running application. + + [] + +*0.8 was never released + +*Prior to 0.9 + + [[1]] Fix for potential synchronization issue\ + There was the possibility of synchronization issues in the FeedFetcher. Fixed, thanks to suggestions from Javier Kohen. + + [[1]] New LinkedHashMapFeedInfoCache FeedFetcherCache implementation\ + The new LinkedHashMapFeedInfoCache has the advantage that it will not grow unbound + + [] + +*Prior to 1.0RC2 + + [[1]] BeanInfo class added for AbstractFeedFetcher\ + com.sun.syndication.fetcher.impl.AbstractFeedFetcherBeanInfo was created to allow introspection to correctly find the events + + [[1]] Callback to allow access to HttpClient HttpMethod object\ + Add a HttpClientMethodCallbackIntf to allow the calling code to modify the HttpClient HttpMethod used to make the request + (eg, add additinal headers, etc.) Also fixes a reported bug where the user agent wasn't being set properly + + [[1]] Support for clearing cache\ + See {{{http://java.net/jira/browse/ROME\-119}http://java.net/jira/browse/ROME\-119}} for details + + [] + +*Prior to 1.0 + + [[1]] Support for preserving wire feed data.\ + The fetcher now has a setPreserveWireFeed() method which will setup ROME to preserve WireFeed data. See + {{{http://rometools.github.io/rome/PreservingWireFeeds.html}PreservingWireFeeds}} for further information. + + [] diff --git a/src/site/apt/Dependencies/HttpClientFeedFetcher.apt b/src/site/apt/Dependencies/HttpClientFeedFetcher.apt new file mode 100644 index 0000000..e67bfdc --- /dev/null +++ b/src/site/apt/Dependencies/HttpClientFeedFetcher.apt @@ -0,0 +1,13 @@ + ----- + HttpClientFeedFetcher + ----- + mkurz + ----- + 2011-08-15 17:40:11.468 + ----- + +HttpClientFeedFetcher + + + An implementation of the <<>> which uses the Jakarta HTTP Client. This HTTP client has many benefits over the standard Java implementation. + diff --git a/src/site/apt/Dependencies/index.apt b/src/site/apt/Dependencies/index.apt new file mode 100644 index 0000000..e890d1c --- /dev/null +++ b/src/site/apt/Dependencies/index.apt @@ -0,0 +1,36 @@ + ----- + Dependencies + ----- + mkurz + ----- + 2011-08-15 17:42:31.999 + ----- + +Dependencies + + The Rome Fetcher aims to introduce the absolute minimum number of extra dependencies. Currently (30\-June\-2004) no extra dependencies over those required + by Rome are required to use the fetcher. + + The current dependencies required to use the Rome Fetcher are: + + * JDK 1.4\+ + + * Current version of Rome + + * JDom v 1.0 + + [] + + To build the Rome Fetcher the {{{http://jakarta.apache.org/commons/httpclient/}Jakarta HTTP Client}} is required. + + If the {{{./HttpClientFeedFetcher.html}HttpClientFeedFetcher (fetcher)}} fetcher implementation is used then the Jakarta HTTP Client and Jakarta Commons Logging is required. + + To build and run the unit tests for the Rome Fetcher the following additional dependencies are required: + + * servletapi version 2.3 + + * jetty 4.2.12 + + [] + + Note that Maven will automatically download the correct versions of all dependancies. diff --git a/src/site/apt/KnownIssues.apt b/src/site/apt/KnownIssues.apt new file mode 100644 index 0000000..38263e7 --- /dev/null +++ b/src/site/apt/KnownIssues.apt @@ -0,0 +1,43 @@ + ----- + Known Issues + ----- + mkurz + ----- + 2011-08-15 17:30:28.420 + ----- + +Known Issues + +*Version 0.3 + + * The Maven build does not run the <<>> tests because of a bug in Maven + + * Version 0.3 does not have <<>> included in the project.xml (it is required to run the samples). Either get the latest <<>> from CVS, or + {{{https://rome.dev.java.net/source/browse/rome/subprojects/fetcher/project.xml?r1\=1.1&r2\=1.2}patch it yourself}} + + * 0.3 had a bug that caused it to overwite system properties. + + [] + +*Version 0.4 + + * No known issues (yet!) + + [] + +*Version 0.5 + + * When listening to feed events using <<>>, there is no way to get to the retrieved content, because it is set after firing the event. + \-\- {{{http://wiki.java.net/twiki/bin/view/Javawsxml/Jawe}jawe}} + + * When listening to feed events using <<>>, the feed URLs returned by the <<>> are prepended with + "sun.net.www.protocol.http.HttpURLConnection:" \-\- {{{http://wiki.java.net/twiki/bin/view/Javawsxml/Jawe}jawe}} + + [] + +*Version 0.7 + + * <<>> doesn't work quite right because <<>> does hostname resolution and treats virtual hosts with the same IP as equal, + so e.g. all RSS feeds from <<>> collide in the cache. Also, it's really slow. Fix is to use <<>> as the hash key instead of the URL itself. + + [] diff --git a/src/site/apt/Releases/ROMEFetcher0.6.apt b/src/site/apt/Releases/ROMEFetcher0.6.apt new file mode 100644 index 0000000..7a6e396 --- /dev/null +++ b/src/site/apt/Releases/ROMEFetcher0.6.apt @@ -0,0 +1,49 @@ + ----- + ROME Fetcher 0.6 + ----- + mkurz + ----- + 2011-08-15 17:50:02.821 + ----- + +ROME Fetcher 0.6 + +*Downloads + + * {{{./rome\-fetcher\-0.6\-src.zip}rome\-fetcher\-0.6\-src.zip}} + + * {{{./rome\-fetcher\-0.6.tar.gz}rome\-fetcher\-0.6.tar.gz}} + + * {{{./rome\-fetcher\-0.6.zip}rome\-fetcher\-0.6.zip}} + + * {{{./rome\-fetcher\-0.6\-src.tar.gz}rome\-fetcher\-0.6\-src.tar.gz}} + + [] + +*Tutorials + + * {{{../BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{../UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{../SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +*Todo list + + * {{{../TodoList.html}Todo list (fetcher)}} + + [] + +*Issues + + * {{{../KnownIssues.html}Known Issues (fetcher)}} + + [] + +*Change Log + + * {{{../ChangeLog.html}Change Log (fetcher)}} + + [] diff --git a/src/site/apt/Releases/ROMEFetcher0.7.apt b/src/site/apt/Releases/ROMEFetcher0.7.apt new file mode 100644 index 0000000..d574307 --- /dev/null +++ b/src/site/apt/Releases/ROMEFetcher0.7.apt @@ -0,0 +1,49 @@ + ----- + ROME Fetcher 0.7 + ----- + mkurz + ----- + 2011-08-15 17:50:31.833 + ----- + +ROME Fetcher 0.7 + +*Downloads + + * {{{./rome\-fetcher\-0.7\-src.zip}rome\-fetcher\-0.7\-src.zip}} + + * {{{./rome\-fetcher\-0.7.tar.gz}rome\-fetcher\-0.7.tar.gz}} + + * {{{./rome\-fetcher\-0.7.zip}rome\-fetcher\-0.7.zip}} + + * {{{./rome\-fetcher\-0.7\-src.tar.gz}rome\-fetcher\-0.7\-src.tar.gz}} + + [] + +*Tutorials + + * {{{../BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{../UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{../SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +*Todo list + + * {{{../TodoList.html}Todo list (fetcher)}} + + [] + +*Issues + + * {{{../KnownIssues.html}Known Issues (fetcher)}} + + [] + +*Change Log + + * {{{../ChangeLog.html}Change Log (fetcher)}} + + [] diff --git a/src/site/apt/Releases/ROMEFetcher0.9.apt b/src/site/apt/Releases/ROMEFetcher0.9.apt new file mode 100644 index 0000000..5bb4964 --- /dev/null +++ b/src/site/apt/Releases/ROMEFetcher0.9.apt @@ -0,0 +1,51 @@ + ----- + ROME Fetcher 0.9 + ----- + mkurz + ----- + 2011-08-15 17:51:04.383 + ----- + +ROME Fetcher 0.9 + + Note that there was no 0.8 Fetcher release + +*Downloads + + * {{{./rome\-fetcher\-0.9\-src.zip}rome\-fetcher\-0.9\-src.zip}} + + * {{{./rome\-fetcher\-0.9.tar.gz}rome\-fetcher\-0.9.tar.gz}} + + * {{{./rome\-fetcher\-0.9.zip}rome\-fetcher\-0.9.zip}} + + * {{{./rome\-fetcher\-0.9\-src.tar.gz}rome\-fetcher\-0.9\-src.tar.gz}} + + [] + +*Tutorials + + * {{{../BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{../UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{../SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +*Todo list + + * {{{../TodoList.html}Todo list (fetcher)}} + + [] + +*Issues + + * {{{../KnownIssues.html}Known Issues (fetcher)}} + + [] + +*Change Log + + * {{{../ChangeLog.html}Change Log (fetcher)}} + + [] diff --git a/src/site/apt/Releases/ROMEFetcher1.0.apt b/src/site/apt/Releases/ROMEFetcher1.0.apt new file mode 100644 index 0000000..992a9b9 --- /dev/null +++ b/src/site/apt/Releases/ROMEFetcher1.0.apt @@ -0,0 +1,53 @@ + ----- + ROME Fetcher 1.0 + ----- + mkurz + ----- + 2011-08-15 17:52:18.652 + ----- + +ROME Fetcher 1.0 + +*Downloads + + * {{{./rome\-fetcher\-1.0.jar}rome\-fetcher\-1.0.jar}} + + * {{{./rome\-fetcher\-1.0\-javadoc.jar}rome\-fetcher\-1.0\-javadoc.jar}} + + * {{{./rome\-fetcher\-1.0\-sources.jar}rome\-fetcher\-1.0\-sources.jar}} + + [] + +*Tutorials + + * {{{../BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{../UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{../SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +*API Docs + + * {{{./rome-fetcher-1.0-javadoc.jar}Fetcher API Docs}} + + [] + +*Todo list + + * {{{../TodoList.html}Todo list (fetcher)}} + + [] + +*Issues + + * {{{../KnownIssues.html}Known Issues (fetcher)}} + + [] + +*Change Log + + * {{{../ChangeLog.html}Change Log (fetcher)}} + + [] diff --git a/src/site/apt/Releases/ROMEFetcher1.0RC2.apt b/src/site/apt/Releases/ROMEFetcher1.0RC2.apt new file mode 100644 index 0000000..0519218 --- /dev/null +++ b/src/site/apt/Releases/ROMEFetcher1.0RC2.apt @@ -0,0 +1,57 @@ + ----- + ROME Fetcher 1.0 RC2 + ----- + mkurz + ----- + 2011-08-15 17:51:50.236 + ----- + +ROME Fetcher 1.0 RC2 + + Note that there was no 1.0 RC1 Fetcher release + +*Downloads + + * {{{./rome\-fetcher\-1.0RC2\-src.zip}rome\-fetcher\-1.0RC2\-src.zip}} + + * {{{./rome\-fetcher\-1.0RC2.jar}rome\-fetcher\-1.0RC2.jar}} + + * {{{./rome\-fetcher\-1.0RC2\-javadoc.jar}rome\-fetcher\-1.0RC2\-javadoc.jar}} + + * {{{./rome\-fetcher\-1.0RC2\-sources.jar}rome\-fetcher\-1.0RC2\-sources.jar}} + + [] + +*Tutorials + + * {{{../BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{../UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{../SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +*API Docs + + * {{{./rome-fetcher-1.0RC2-javadoc.jar}Fetcher API Docs}} + + [] + +*Todo list + + * {{{../TodoList.html}Todo list (fetcher)}} + + [] + +*Issues + + * {{{../KnownIssues.html}Known Issues (fetcher)}} + + [] + +*Change Log + + * {{{../ChangeLog.html}Change Log (fetcher)}} + + [] diff --git a/src/site/apt/Releases/RomeFetcher0.3.apt b/src/site/apt/Releases/RomeFetcher0.3.apt new file mode 100644 index 0000000..21d024e --- /dev/null +++ b/src/site/apt/Releases/RomeFetcher0.3.apt @@ -0,0 +1,51 @@ + ----- + Rome Fetcher 0.3 + ----- + mkurz + ----- + 2011-08-15 17:46:45.860 + ----- + +Rome Fetcher 0.3 + + Rome Fetcher version 0.3 is inital release of the Rome Fetcher. It is released as version 0.3 to synchronize with the version number of the core Rome project release. + +*Downloads + + * {{{./rome\-fetcher\-0.3\-src.zip}rome\-fetcher\-0.3\-src.zip}} + + * {{{./rome\-fetcher\-0.3.tar.gz}rome\-fetcher\-0.3.tar.gz}} + + * {{{./rome\-fetcher\-0.3.zip}rome\-fetcher\-0.3.zip}} + + * {{{./rome\-fetcher\-0.3\-src.tar.gz}rome\-fetcher\-0.3\-src.tar.gz}} + + [] + +*Tutorials + + * {{{../BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{../UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{../SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +*Todo list + + * {{{../TodoList.html}Todo list (fetcher)}} + + [] + +*Issues + + * {{{../KnownIssues.html}Known Issues (fetcher)}} + + [] + +*Change Log + + * {{{../ChangeLog.html}Change Log (fetcher)}} + + [] diff --git a/src/site/apt/Releases/RomeFetcher0.4.apt b/src/site/apt/Releases/RomeFetcher0.4.apt new file mode 100644 index 0000000..a9abd8a --- /dev/null +++ b/src/site/apt/Releases/RomeFetcher0.4.apt @@ -0,0 +1,49 @@ + ----- + Rome Fetcher 0.4 + ----- + mkurz + ----- + 2011-08-15 17:47:58.203 + ----- + +Rome Fetcher 0.4 + +*Downloads + + * {{{./rome\-fetcher\-0.4\-src.zip}rome\-fetcher\-0.4\-src.zip}} + + * {{{./rome\-fetcher\-0.4.tar.gz}rome\-fetcher\-0.4.tar.gz}} + + * {{{./rome\-fetcher\-0.4.zip}rome\-fetcher\-0.4.zip}} + + * {{{./rome\-fetcher\-0.4\-src.tar.gz}rome\-fetcher\-0.4\-src.tar.gz}} + + [] + +*Tutorials + + * {{{../BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{../UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{../SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +*Todo list + + * {{{../TodoList.html}Todo list (fetcher)}} + + [] + +*Issues + + * {{{../KnownIssues.html}Known Issues (fetcher)}} + + [] + +*Change Log + + * {{{../ChangeLog.html}Change Log (fetcher)}} + + [] diff --git a/src/site/apt/Releases/RomeFetcher0.5.apt b/src/site/apt/Releases/RomeFetcher0.5.apt new file mode 100644 index 0000000..9959793 --- /dev/null +++ b/src/site/apt/Releases/RomeFetcher0.5.apt @@ -0,0 +1,51 @@ + ----- + Rome Fetcher 0.5 + ----- + mkurz + ----- + 2011-08-15 17:49:03.166 + ----- + +Rome Fetcher 0.5 + + The ROME Fetcher v 0.6 is now released. This page exists for historical purposes only. + +*Downloads + + * {{{./rome\-fetcher\-0.5\-src.zip}rome\-fetcher\-0.5\-src.zip}} + + * {{{./rome\-fetcher\-0.5.zip}rome\-fetcher\-0.5.zip}} + + * {{{./rome\-fetcher\-0.5.tar.gz}rome\-fetcher\-0.5.tar.gz}} + + * {{{./rome\-fetcher\-0.5\-src.tar.gz}rome\-fetcher\-0.5\-src.tar.gz}} + + [] + +*Tutorials + + * {{{../BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{../UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{../SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +*Todo list + + * {{{../TodoList.html}Todo list (fetcher)}} + + [] + +*Issues + + * {{{../KnownIssues.html}Known Issues (fetcher)}} + + [] + +*Change Log + + * {{{../ChangeLog.html}Change Log (fetcher)}} + + [] diff --git a/src/site/apt/Releases/index.apt b/src/site/apt/Releases/index.apt new file mode 100644 index 0000000..f5715b8 --- /dev/null +++ b/src/site/apt/Releases/index.apt @@ -0,0 +1,10 @@ + ----- + Releases + ----- + mkurz + ----- + 2011-08-15 17:57:59.422 + ----- + +Releases + diff --git a/src/site/apt/SampleProgramsIncluded.apt b/src/site/apt/SampleProgramsIncluded.apt new file mode 100644 index 0000000..d468682 --- /dev/null +++ b/src/site/apt/SampleProgramsIncluded.apt @@ -0,0 +1,21 @@ + ----- + Sample programs included + ----- + mkurz + ----- + 2011-08-15 17:38:21.664 + ----- + +Sample programs included + + There are two sample programs included with Rome Fetcher. + + {{{https://github.com/rometools/rome-fetcher/blob/master/src/java/org/rometools/fetcher/samples/FeedReader.java}FeedReader}} + is a program which demonstrates the use of the Fetcher to retrieve a feed and then to use the conditional get support to retrieve + it again only if it has changed. It also shows how to use the event API in the Fetcher. It can be run using the <<>> target. + + {{{https://github.com/rometools/rome-fetcher/blob/master/src/java/org/rometools/fetcher/samples/FeedAggregator.java}FeedAggregator}} + is a program which aggregates a number of feeds together into a single feed. It can be run using the <<>> target. + + (Note that in verision 0.3 the Maven build does not include Xerces in the classpath \- which is required to use Rome. This is + {{{https://rome.dev.java.net/source/browse/rome/subprojects/fetcher/project.xml?r1\=1.1&r2\=1.2}easy to fix}}.) diff --git a/src/site/apt/TodoList.apt b/src/site/apt/TodoList.apt new file mode 100644 index 0000000..d6c2582 --- /dev/null +++ b/src/site/apt/TodoList.apt @@ -0,0 +1,29 @@ + ----- + Todo list + ----- + mkurz + ----- + 2011-08-15 17:33:17.559 + ----- + +Todo list + + Please discuss items here on the rome dev mailing list + + * Automatically update the + \-{{{https://github.com/rometools/rome-fetcher/blob/master/src/java/org/rometools/fetcher/FeedFetcher.java}default User\-Agent version number}} + via the build\- Done: 23\-June\-2004 + + * Listener Architecture (for URL changes via 3xx redirection etc) Done: 30\-June\-2004 + + * {{{http://radio.userland.com/userGuide/reference/howToRedirectRss}RSS Redirection}} + + * Unit Tests: smart unit tests along the lines of Mark Pilgrim's tests, in his + \-{{{http://diveintomark.org/projects/feed_parser/}Python Universal Feed Parser}}. He instantiates a web server to a local directory where the samples live, + and then fetches the feeds from the server, which allows him to test in depth the behavior of gzip compression and etags handling.\- Done 30\-June\-2004 + + * Better character encoding handling \- See {{{http://diveintomark.org/archives/2004/02/13/xml\-media\-types}http://diveintomark.org/archives/2004/02/13/xml\-media\-types}} + + * A caching feed fetcher + + [] diff --git a/src/site/apt/UsingTheRomeFetcherModuleToRetrieveFeeds.apt b/src/site/apt/UsingTheRomeFetcherModuleToRetrieveFeeds.apt new file mode 100644 index 0000000..cc2bcfa --- /dev/null +++ b/src/site/apt/UsingTheRomeFetcherModuleToRetrieveFeeds.apt @@ -0,0 +1,36 @@ + ----- + Using the Rome Fetcher module to retrieve feeds + ----- + mkurz + ----- + 2011-08-15 17:36:41.844 + ----- + +Using the Rome Fetcher module to retrieve feeds + + The HttpURLFeedFetcher class does the actual HTTP request. It relies on the FeedInfoCacheI interface which stores information + about each feed required for conditional gets. Currently there is a single implementation of FeedInfoCacheI supplied: <<>>. + + The basic usage of FeedFetcher is as follows: + ++------+ +FeedFetcherCache feedInfoCache = HashMapFeedInfoCache.getInstance(); +FeedFetcher feedFetcher = new HttpURLFeedFetcher(feedInfoCache); +SyndFeed feed = feedFetcher.retrieveFeed(new URL("http://blogs.sun.com/roller/rss/pat")); +System.out.println(feed); ++------+ + + Any subsequent fetches of {{{http://blogs.sun.com/roller/rss/pat}http://blogs.sun.com/roller/rss/pat}} by any FeedFetcher using feedInfoCache + will now only retrieve the feed if it has changed. + + FeedFetcher can be used without a cache if required. Simply create it using the zero\-parameter constructor: + ++------+ +FeedFetcher feedFetcher = new HttpURLFeedFetcher(); ++------+ + + A more complete sample (including the use of listener on Fetcher events) + {{{https://github.com/rometools/rome-fetcher/blob/master/src/java/org/rometools/fetcher/samples/FeedReader.java}is included in the Rome Fetcher project}} + + Note that there has been considerable discussion on the rome\-dev list about the best way to manage the creation of the feed fetcher. + Currently the client code needs to be responsible for creating specific implementations of the FeedFetcherI interface. diff --git a/src/site/apt/WishList.apt b/src/site/apt/WishList.apt new file mode 100644 index 0000000..f4cd90f --- /dev/null +++ b/src/site/apt/WishList.apt @@ -0,0 +1,17 @@ + ----- + Wish list + ----- + mkurz + ----- + 2011-08-15 17:33:55.774 + ----- + +Wish list + + * {{{http://diveintomark.org/archives/2002/05/31}RSS Autodiscovery}} + + * {{{http://www.intertwingly.net/wiki/pie/PaceAutoDisco}Atom Autodiscovery}} + + * Connection timeout and read settings. + + [] diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt new file mode 100644 index 0000000..d3ae974 --- /dev/null +++ b/src/site/apt/index.apt @@ -0,0 +1,72 @@ + ----- + Home + ----- + mkurz + ----- + 2011-08-15 17:44:31.665 + ----- + +Rome Fetcher + + The Rome Fetcher (see modules/fetcher) allows the retrieval of feeds via HTTP. It supports + {{{http://fishbowl.pastiche.org/2002/10/21/http_conditional_get_for_rss_hackers}HTTP conditional gets}} + (ie: last modified and ETag handling) and GZip encoded feeds. It should enable user to write aggregators that follow the + {{{http://diveintomark.org/archives/2003/07/21/atom_aggregator_behavior_http_level}Atom aggregator behaviour recommendations}} + + As with the rest of Rome, the Fetcher subproject is ultra\-lean \- it requires {{{./Dependencies/index.html}no new dependencies}} + over the requirements for Rome. + +Tutorials + + * {{{./BuildingTheRomeFetcher.html}Building the Rome Fetcher (fetcher)}} + + * {{{./UsingTheRomeFetcherModuleToRetrieveFeeds.html}Using the Rome Fetcher module to retrieve feeds (fetcher)}} + + * {{{./SampleProgramsIncluded.html}Sample programs included (fetcher)}} + + [] + +Todo list + + * {{{./TodoList.html}Todo list (fetcher)}} + + [] + +Wish list + + * {{{./WishList.html}Wish list (fetcher)}} + + [] + +Issues + + * {{{./KnownIssues.html}Known Issues (fetcher)}} + + [] + +Releases + + * {{{./Releases/RomeFetcher0.3.html}Rome Fetcher 0.3 (fetcher)}} + + * {{{./Releases/RomeFetcher0.4.html}Rome Fetcher 0.4 (fetcher)}} + + * {{{./Releases/RomeFetcher0.5.html}Rome Fetcher 0.5 (fetcher)}} + + * {{{./Releases/ROMEFetcher0.6.html}ROME Fetcher 0.6 (fetcher)}} + + * {{{./Releases/ROMEFetcher0.7.html}ROME Fetcher 0.7 (fetcher)}} + + * {{{./Releases/ROMEFetcher0.9.html}ROME Fetcher 0.9 (fetcher)}} + + * {{{./Releases/ROMEFetcher1.0RC2.html}ROME Fetcher 1.0 RC2 (fetcher)}} + + * {{{./Releases/ROMEFetcher1.0.html}ROME Fetcher 1.0 (fetcher)}} + + [] + +Change Log + + * {{{./ChangeLog.html}Change Log (fetcher)}} + + [] + \ No newline at end of file diff --git a/src/site/resources/.nojekyll b/src/site/resources/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/src/site/resources/Releases/rome-fetcher-0.3-src.tar.gz b/src/site/resources/Releases/rome-fetcher-0.3-src.tar.gz new file mode 100644 index 0000000..0043cc9 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.3-src.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.3-src.zip b/src/site/resources/Releases/rome-fetcher-0.3-src.zip new file mode 100644 index 0000000..b806b31 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.3-src.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.3.tar.gz b/src/site/resources/Releases/rome-fetcher-0.3.tar.gz new file mode 100644 index 0000000..958b25e Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.3.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.3.zip b/src/site/resources/Releases/rome-fetcher-0.3.zip new file mode 100644 index 0000000..ba85cd1 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.3.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.4-src.tar.gz b/src/site/resources/Releases/rome-fetcher-0.4-src.tar.gz new file mode 100644 index 0000000..0af41b0 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.4-src.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.4-src.zip b/src/site/resources/Releases/rome-fetcher-0.4-src.zip new file mode 100644 index 0000000..697c2a6 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.4-src.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.4.tar.gz b/src/site/resources/Releases/rome-fetcher-0.4.tar.gz new file mode 100644 index 0000000..93adbc0 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.4.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.4.zip b/src/site/resources/Releases/rome-fetcher-0.4.zip new file mode 100644 index 0000000..44f1d64 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.4.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.5-src.tar.gz b/src/site/resources/Releases/rome-fetcher-0.5-src.tar.gz new file mode 100644 index 0000000..ee71caa Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.5-src.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.5-src.zip b/src/site/resources/Releases/rome-fetcher-0.5-src.zip new file mode 100644 index 0000000..eb6ce42 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.5-src.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.5.tar.gz b/src/site/resources/Releases/rome-fetcher-0.5.tar.gz new file mode 100644 index 0000000..cc58dd8 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.5.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.5.zip b/src/site/resources/Releases/rome-fetcher-0.5.zip new file mode 100644 index 0000000..27c9b55 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.5.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.6-src.tar.gz b/src/site/resources/Releases/rome-fetcher-0.6-src.tar.gz new file mode 100644 index 0000000..0d69b1b Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.6-src.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.6-src.zip b/src/site/resources/Releases/rome-fetcher-0.6-src.zip new file mode 100644 index 0000000..67ab51a Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.6-src.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.6.tar.gz b/src/site/resources/Releases/rome-fetcher-0.6.tar.gz new file mode 100644 index 0000000..c5a996a Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.6.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.6.zip b/src/site/resources/Releases/rome-fetcher-0.6.zip new file mode 100644 index 0000000..8890994 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.6.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.7-src.tar.gz b/src/site/resources/Releases/rome-fetcher-0.7-src.tar.gz new file mode 100644 index 0000000..30bc5a8 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.7-src.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.7-src.zip b/src/site/resources/Releases/rome-fetcher-0.7-src.zip new file mode 100644 index 0000000..ee788d4 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.7-src.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.7.tar.gz b/src/site/resources/Releases/rome-fetcher-0.7.tar.gz new file mode 100644 index 0000000..804aa97 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.7.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.7.zip b/src/site/resources/Releases/rome-fetcher-0.7.zip new file mode 100644 index 0000000..45934eb Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.7.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.9-src.tar.gz b/src/site/resources/Releases/rome-fetcher-0.9-src.tar.gz new file mode 100644 index 0000000..2b1bdf9 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.9-src.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.9-src.zip b/src/site/resources/Releases/rome-fetcher-0.9-src.zip new file mode 100644 index 0000000..1899ac7 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.9-src.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-0.9.tar.gz b/src/site/resources/Releases/rome-fetcher-0.9.tar.gz new file mode 100644 index 0000000..1560db9 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.9.tar.gz differ diff --git a/src/site/resources/Releases/rome-fetcher-0.9.zip b/src/site/resources/Releases/rome-fetcher-0.9.zip new file mode 100644 index 0000000..43c48a9 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-0.9.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-1.0-javadoc.jar b/src/site/resources/Releases/rome-fetcher-1.0-javadoc.jar new file mode 100644 index 0000000..7ea9678 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-1.0-javadoc.jar differ diff --git a/src/site/resources/Releases/rome-fetcher-1.0-sources.jar b/src/site/resources/Releases/rome-fetcher-1.0-sources.jar new file mode 100644 index 0000000..bf1be0f Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-1.0-sources.jar differ diff --git a/src/site/resources/Releases/rome-fetcher-1.0.jar b/src/site/resources/Releases/rome-fetcher-1.0.jar new file mode 100644 index 0000000..b889d47 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-1.0.jar differ diff --git a/src/site/resources/Releases/rome-fetcher-1.0RC2-javadoc.jar b/src/site/resources/Releases/rome-fetcher-1.0RC2-javadoc.jar new file mode 100644 index 0000000..4b08a4a Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-1.0RC2-javadoc.jar differ diff --git a/src/site/resources/Releases/rome-fetcher-1.0RC2-sources.jar b/src/site/resources/Releases/rome-fetcher-1.0RC2-sources.jar new file mode 100644 index 0000000..a471611 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-1.0RC2-sources.jar differ diff --git a/src/site/resources/Releases/rome-fetcher-1.0RC2-src.zip b/src/site/resources/Releases/rome-fetcher-1.0RC2-src.zip new file mode 100644 index 0000000..d2ac106 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-1.0RC2-src.zip differ diff --git a/src/site/resources/Releases/rome-fetcher-1.0RC2.jar b/src/site/resources/Releases/rome-fetcher-1.0RC2.jar new file mode 100644 index 0000000..c8a3f85 Binary files /dev/null and b/src/site/resources/Releases/rome-fetcher-1.0RC2.jar differ diff --git a/src/site/resources/css/site.css b/src/site/resources/css/site.css new file mode 100644 index 0000000..43c3cd8 --- /dev/null +++ b/src/site/resources/css/site.css @@ -0,0 +1,8 @@ +h1 { + padding: 4px 4px 4px 6px; + border: 1px solid #999; + color: #900; + background-color: #ddd; + font-weight:900; + font-size: x-large; +} \ No newline at end of file diff --git a/src/site/resources/images/romelogo.png b/src/site/resources/images/romelogo.png new file mode 100644 index 0000000..2c90608 Binary files /dev/null and b/src/site/resources/images/romelogo.png differ diff --git a/src/site/site.xml b/src/site/site.xml new file mode 100644 index 0000000..b4ad00e --- /dev/null +++ b/src/site/site.xml @@ -0,0 +1,30 @@ + + + + ROME fetcher + images/romelogo.png + http://github.com/rometools/ + + + + + + + + + + + + + + + + + + + + +