2010年1月18日月曜日

rome.properties

スズキです。

以前、Romeのモジュールを作ったのですが、
http://blog.suz-lab.com/2010/01/romefeedburner.html
そのときに、rome.propertiesを作成したら、
もとのrome.propertiesが無視されるようになってしまい、
フィードを作成するときに、以下のようなエラーが出力されるようになってしまいました...

could not instantiate plugin com.sun.syndication.io.impl.Atom10Generator

ということで、もとのrome.propertiesもマージした形で作りなおしました。

--------【rome.properties】--------
# Feed Parser implementation classes
WireFeedParser.classes=\
com.sun.syndication.io.impl.RSS090Parser \
com.sun.syndication.io.impl.RSS091NetscapeParser \
com.sun.syndication.io.impl.RSS091UserlandParser \
com.sun.syndication.io.impl.RSS092Parser \
com.sun.syndication.io.impl.RSS093Parser \
com.sun.syndication.io.impl.RSS094Parser \
com.sun.syndication.io.impl.RSS10Parser \
com.sun.syndication.io.impl.RSS20wNSParser \
com.sun.syndication.io.impl.RSS20Parser \
com.sun.syndication.io.impl.Atom10Parser \
com.sun.syndication.io.impl.Atom03Parser

# Parsers for Atom 1.0 feed modules
atom_1.0.feed.ModuleParser.classes=\
com.sun.syndication.io.impl.SyModuleParser \
com.sun.syndication.io.impl.DCModuleParser \
suz.lab.gae.module.FeedBurnerParser

# Parsers for Atom 1.0 entry modules
atom_1.0.item.ModuleParser.classes=\
com.sun.syndication.io.impl.DCModuleParser \
suz.lab.gae.module.FeedBurnerParser

# Parsers for Atom 0.3 feed modules
atom_0.3.feed.ModuleParser.classes=\
com.sun.syndication.io.impl.SyModuleParser \
com.sun.syndication.io.impl.DCModuleParser

# Parsers for Atom 0.3 entry modules
atom_0.3.item.ModuleParser.classes=\
com.sun.syndication.io.impl.DCModuleParser

# Parsers for RSS 1.0 feed modules
rss_1.0.feed.ModuleParser.classes=\
com.sun.syndication.io.impl.SyModuleParser \
com.sun.syndication.io.impl.DCModuleParser

# Parsers for RSS 1.0 item modules
rss_1.0.item.ModuleParser.classes=\
com.sun.syndication.io.impl.DCModuleParser

# Parsers for RSS 2.0 (w/NS) feed modules
rss_2.0wNS.feed.ModuleParser.classes=\
com.sun.syndication.io.impl.DCModuleParser

# Parsers for RSS 2.0 (w/NS) item modules
rss_2.0wNS.item.ModuleParser.classes=\
com.sun.syndication.io.impl.DCModuleParser

# Parsers for RSS 2.0 feed modules
rss_2.0.feed.ModuleParser.classes=\
com.sun.syndication.io.impl.DCModuleParser

# Parsers for RSS 2.0 item modules
rss_2.0.item.ModuleParser.classes=\
com.sun.syndication.io.impl.DCModuleParser

# Feed Generator implementation classes
WireFeedGenerator.classes=\
com.sun.syndication.io.impl.RSS090Generator \
com.sun.syndication.io.impl.RSS091NetscapeGenerator \
com.sun.syndication.io.impl.RSS091UserlandGenerator \
com.sun.syndication.io.impl.RSS092Generator \
com.sun.syndication.io.impl.RSS093Generator \
com.sun.syndication.io.impl.RSS094Generator \
com.sun.syndication.io.impl.RSS10Generator \
com.sun.syndication.io.impl.RSS20Generator \
com.sun.syndication.io.impl.Atom10Generator \
com.sun.syndication.io.impl.Atom03Generator

# Generators for Atom 1.0 feed modules
atom_1.0.feed.ModuleGenerator.classes=\
com.sun.syndication.io.impl.SyModuleGenerator \
com.sun.syndication.io.impl.DCModuleGenerator

# Generators for Atom 1.0 entry modules
atom_1.0.item.ModuleGenerator.classes=\
com.sun.syndication.io.impl.DCModuleGenerator

# Generators for Atom 0.3 feed modules
atom_0.3.feed.ModuleGenerator.classes=\
com.sun.syndication.io.impl.SyModuleGenerator \
com.sun.syndication.io.impl.DCModuleGenerator

# Generators for Atom 0.3 entry modules
atom_0.3.item.ModuleGenerator.classes=\
com.sun.syndication.io.impl.DCModuleGenerator

# Generators for RSS 1.0 feed modules
rss_1.0.feed.ModuleGenerator.classes=\
com.sun.syndication.io.impl.SyModuleGenerator \
com.sun.syndication.io.impl.DCModuleGenerator

# Generators for RSS_1.0 entry modules
rss_1.0.item.ModuleGenerator.classes=\
com.sun.syndication.io.impl.DCModuleGenerator

# Generators for RSS 2.0 feed modules
rss_2.0.feed.ModuleGenerator.classes=\
com.sun.syndication.io.impl.DCModuleGenerator

# Generators for RSS_2.0 entry modules
rss_2.0.item.ModuleGenerator.classes=\
com.sun.syndication.io.impl.DCModuleGenerator

# Feed Conversor implementation classes
Converter.classes=\
com.sun.syndication.feed.synd.impl.ConverterForAtom10 \
com.sun.syndication.feed.synd.impl.ConverterForAtom03 \
com.sun.syndication.feed.synd.impl.ConverterForRSS090 \
com.sun.syndication.feed.synd.impl.ConverterForRSS091Netscape \
com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland \
com.sun.syndication.feed.synd.impl.ConverterForRSS092 \
com.sun.syndication.feed.synd.impl.ConverterForRSS093 \
com.sun.syndication.feed.synd.impl.ConverterForRSS094 \
com.sun.syndication.feed.synd.impl.ConverterForRSS10 \
com.sun.syndication.feed.synd.impl.ConverterForRSS20
--------
http://code.google.com/p/suz-lab-gae/source/browse/trunk/suz-lab-gae/src/rome.properties?r=133

ちなみに、フィード作成するときに以下のように
setFeedTypesしなければいけないのですが、

SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("atom_1.0");

その引数は、rome.properties中の、"rss_2.0"や"atom_1.0"となります。

フィード関係は、得意になってきたので、そろそろPubSubHubbubもやってみようか...

--------
http://www.suz-lab.com

3 コメント:

Shinpei Ohtani さんのコメント...

RomeはT2プロジェクトでもRome5というRomeのJava5対応版を検討中です。

https://t-2.googlecode.com/svn/trunk/rome5

もしよければみてみてください。
まだジェネリクス対応くらいしかしてないですが^^;

suz-lab さんのコメント...

おおー、ちょうどジェネリクスが使えなくて、もどかしかったところです。
一回、romeをrome5に差し替えて、試してみます。

匿名 さんのコメント...

After reading you site, Your site is very useful for me .I bookmarked your site!