diff --git a/ChangeLog.html b/ChangeLog.html index 309f702..b0db5a1 100644 --- a/ChangeLog.html +++ b/ChangeLog.html @@ -1,83 +1,126 @@ - - + +
- -Software requirements: Synd J2SE 1.4+, JDOM 1.0 and Rome 0.4.
This tutorial walks through the steps of creating a custom module for syndication feeds that support additional namespaces (such as RSS 1.0, RSS 2.0 and Atom 0.3).
@@ -362,21 +427,22 @@ rss_1.0.item.ModuleGenerator.classes=com.sun.syndication.samples.module.SampleMoThey will be there, just use them. You may get the SampleModule bean using the getModule(String Uri) method of the SyndFeed bean and the SyndEntry bean.
Adding or replacing a syndication feed parser, generator or converter goes along the same lines of what it has been explained in the tutorial for modules. This is explained in the Rome Plugins Mechanism topic.
Software requirements: J2SE 1.4+, JDOM 1.0 and Rome 0.4.
Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
@@ -203,21 +268,22 @@ public class FeedAggregator { }Software requirements: Synd J2SE 1.4+, JDOM 1.0 and Rome 0.4.
Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
@@ -171,21 +236,22 @@ public class FeedConverter { }Software requirements: J2SE 1.4+, JDOM 1.0 and Rome 0.4.
Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.feed.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
@@ -258,21 +323,22 @@ public class FeedWriter { }Software requirements: J2SE 1.4+, JDOM 1.0 and Rome 0.4.
Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
@@ -161,21 +226,22 @@ public class FeedReader { }The Rome common package contains a set of Java classes that provide support for all the basic features Java Beans commonly must have: toString, equals, hashcode and cloning. There is also a simple enumeration base class (missing Java 5.0 already).
By implementing or extending the common classes and interfaces Beans don't have to hand code these functions. This greatly simplifies things when Beans have several properties, collection properties and composite properties.
@@ -370,21 +435,22 @@ public interface Foo extends CopyFrom {A use case for the CopyFrom functionality is a Java Bean implementation of an interface and a persistency implementation (such as Hibernate) of the the same interface that may add extra persistency related properties to the bean (ie, the 'Id' property as the persistency layer primary key).
For bean, array and collection properties the bean being invoked which copyFrom() method is invoked is responsible for those properties.
For properties implementing the CopyFrom interface, the bean must create a property instance implementing the interface returned by the getInterface() method. This allows the bean doing the copyFrom() to handle specialized subclasses of property elements propertly. This is also applicacle to array and collection properties. The 'modules' property of the SyndFeed and SyndEntry beans is a use case of this feature where the copyFrom() invocation must create different beans subclasses for each type of module, the getInteface() helps to find the right implementation.
Dave Johnson (The Roller Weblogger) has written a very nice blog How Rome Works describing (as the title says) how Rome works. With his permission we are adding it to Rome documentation.
I spent some time exploring the new Rome feed parser for Java and trying to understand how it works. Along the way, I put together the following class diagram and notes on the parsing process. I provide some pointers into the Rome 0.4 Javadocs.
@@ -137,21 +202,22 @@ SyndFeed feed = input.build(new InputStreamReader(feedUrl.openStream()));Rome is built using mighty Maven! This is why these instructions are so short:-)
If you don't want to build Rome we'd suggest you download a binary build:-)
See Version Control for access intructions and to browse the source from your browser.
-Check out the tag version-0-1 for version 0.1. Else checkout the trunk for the development version.
See GitHub for access intructions and to browse the source from your browser.
See Installing Maven for details.
@@ -94,7 +136,7 @@At the command prompt type:
-> mvn jar:jar +> mvn package
This will build
-> mvn +> mvn install
will setup the Eclipse project for you.
-We don't use the site:deploy or dist:deploy targets yet since java.net is not very maven-friendly yet:-)
will setup the Eclipse project for you.
If your site or project is powered by ROME, please take the time to write a short testimonial on this wiki page, or send a mail to users@rome.dev.java.net. Feel free to use our "Powered by ROME" badges in your work. (Several badge variations are available at the bottom of this page.)
Please copy the image to your own server rather than link to the image on its current host.
this page is not up to date
Starting with ROME 1.0 RC2, rome jars are deployed on the java.net maven repository.
@@ -106,21 +149,22 @@ </dependency>-- Main.mj_ - 22 Apr 2009
From ROME 1.0 RC2 onwards, the ROME jar includes OSGi information in its manifest.
Note that we have received some reports that ROME plugin classloading may cause problems with OSGi. Setting the system property "rome.pluginmanager.useloadclass" to "true" may help avoid this. See Issue 118 for further information.
-- Main.nicklothian - 08 Jan 2009
We're welcoming our first external developer, Nick Lothian today, so we thought it would be good to set a few basic rules for this project. We don't want to be too formal, since we're still alpha, and trust our developer's common sense to "do the right thing".
-- PatrickChanezon - 17 Jun 2004
It has been 2 years since ROME started and along the way we've fixed, improved, enhanced and changed the API and the implementation. We've had to address things we did not think at first, we have to add support for specifications that were not around when ROME started, doing that has not being a hard task. The best indicator we've done a fair job with ROME is adoption.
Some cracks are starting to appear, mistakes in the design (such as overloading the use of DCModule), a bit of implementation over-engineering (such as the home grown bean-introspector and the smart ObjectBean & co classes), a more complex than needed API (the existence of 2 abstraction levels for feed, Synd and Wire beans).
@@ -291,21 +334,22 @@ public class FeedConverter {It has been 2 years since ROME started and along the way we've fixed, improved, enhanced and changed the API and the implementation. We've had to address things we did not think at first, we have to add support for specifications that were not around when ROME started, doing that has not being a hard task. The best indicator we've done a fair job with ROME is adoption.
Some cracks are starting to appear, mistakes in the design (such as overloading the use of DCModule), a bit of implementation over-engineering (such as the home grown bean-introspector and the smart ObjectBean & co classes), a more complex than needed API (the existence of 2 abstraction levels for feed, Synd and Wire beans).
@@ -311,21 +354,22 @@ public interface FeedConverter {The following ZIP file only includes the ROME2 beans as described in this proposal, it does not include any of the parser, generator or IO API.
Which ends up with "Quatre pièces" being displayed in the RSS Reader that is taking your feed. To get the correct ouput I have had to resort to outputString.replaceAll("",""); OK as a a workaround but not very elegant or performant! -- Main.rjwallis - 19 Mar 2005