[ROME-145] Classloader fix under Tomcat Created: 23/Apr/10  Updated: 23/Apr/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Blocker
Reporter: hovis Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File rome-classloader-patch.diff    
Issuezilla Id: 145

 Description   

We use Rome within a webapp on Tomcat6 and the properties failed to be found due
to the use of Thread.currentThread().getContextClassLoader().

In my case the rome.jar is dynamically loaded so
Thread.currentThread().getContextClassLoader() will not contain the
classloader for rome.jar.

The patch included fixes this so it always uses the classloader which the Rome
jar was loaded by regardless of the classloader the current thread is using.

Tested the patch outside of Tomcat in a regular simple app and that is fine.

Also before patching, we tried enabling the fix made for OSGi support, but that
was no good either in this situation.



 Comments   
Comment by hovis [ 23/Apr/10 ]

Created an attachment (id=45)
Classloader fix for Tomcat webapp use





[ROME-142] Make ROME 1.0 works in OSGi Created: 19/Mar/10  Updated: 10/Aug/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Blocker
Reporter: splatch Assignee: rome-issues
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File osgi.patch    
Issuezilla Id: 142

 Description   

When I tired to run Rome on ServiceMix I found error with class loading. After
short investigate i found blog post:
http://js.jipiju.com/2009/08/04/osgi-jumping-through-classoading-hoops/

I patched Rome PropertiesLoader to use PropertiesLoader.class.getClassLoader()
in place Thread.currentThread().getContextClassLoader(). Patched version is
avaliable on:
http://repository.code-house.org/content/repositories/code-house.public.release/rome/rome/1.0-osgi/

Patched PropertiesLoader are available in rome-1.0-osgi-sources.jar.

Regards,
Luke



 Comments   
Comment by jamesroper [ 10/Aug/10 ]

Created an attachment (id=46)
Patch for OSGI compatibility





[ROME-135] Rome 1.0 not JDK 1.4 compatible Created: 29/Sep/09  Updated: 29/Sep/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Blocker
Reporter: vict0r Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 135

 Description   

java.lang.NoSuchMethodError: java.lang.Integer.valueOf(I)Ljava/lang/Integer;
at com.sun.syndication.io.impl.NumberParser.parseInt(NumberParser.java:54)
[...]

Error code line 54:
return Integer.valueOf(Integer.parseInt(str.trim()));

Method "Integer.valueOf(int)" came with Java 1.5. In Java 1.4 that line should
be something like:
Integer.valueOf(str.trim(), 10);



 Comments   
Comment by vict0r [ 29/Sep/09 ]

Steps for reproducing:
run your Rome application in pure Java 1.4 environment.

Full stacktrace:
java.lang.NoSuchMethodError: java.lang.Integer.valueOf(I)Ljava/lang/Integer;
at com.sun.syndication.io.impl.NumberParser.parseInt(NumberParser.java:54)
at
com.sun.syndication.io.impl.RSS091UserlandParser.parseImage(RSS091UserlandParser.java:164)
at com.sun.syndication.io.impl.RSS090Parser.parseChannel(RSS090Parser.java:160)
at
com.sun.syndication.io.impl.RSS091UserlandParser.parseChannel(RSS091UserlandParser.java:84)
at com.sun.syndication.io.impl.RSS092Parser.parseChannel(RSS092Parser.java:49)
at com.sun.syndication.io.impl.RSS094Parser.parseChannel(RSS094Parser.java:45)
at com.sun.syndication.io.impl.RSS090Parser.parse(RSS090Parser.java:82)
at com.sun.syndication.io.WireFeedInput.build(WireFeedInput.java:277)
at com.sun.syndication.io.WireFeedInput.build(WireFeedInput.java:195)
at com.sun.syndication.io.SyndFeedInput.build(SyndFeedInput.java:123)
at
com.sun.syndication.fetcher.impl.HttpURLFeedFetcher.readSyndFeedFromStream(HttpURLFeedFetcher.java:272)
at
com.sun.syndication.fetcher.impl.HttpURLFeedFetcher.getSyndFeedFromStream(HttpURLFeedFetcher.java:277)
at
com.sun.syndication.fetcher.impl.HttpURLFeedFetcher.resetFeedInfo(HttpURLFeedFetcher.java:191)
at
com.sun.syndication.fetcher.impl.HttpURLFeedFetcher.retrieveAndCacheFeed(HttpURLFeedFetcher.java:163)
at
com.sun.syndication.fetcher.impl.HttpURLFeedFetcher.retrieveFeed(HttpURLFeedFetcher.java:119)





[ROME-101] Get "White spaces are required" when trying to get an Atom service using Propono Created: 13/Aug/08  Updated: 31/Mar/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Blocker
Reporter: davidvc Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 101

 Description   

If I try to connect to

http://webflavors.com/brent/wp-app.php/service

through the Propono AtomPub client I get

org.jdom.input.JDOMParseException: Error on line 1: White spaces are required
between publicId and systemId.

If I just go to the URI directly I get a nicely formed XML response displaying
the workspaces (see below).

Marking this a P1 because I am completely stuck with this bug.

<?xml version="1.0" encoding="utf-8"?>
<service xmlns="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom">
<workspace>
<atom:title> Workspace</atom:title>
<collection href="http://webflavors.com/brent/wp-app.php/posts">
<atom:title> Posts</atom:title>
<accept>application/atom+xml;type=entry</accept>

<categories href="http://webflavors.com/brent/wp-app.php/categories" />
</collection>
<collection href="http://webflavors.com/brent/wp-app.php/attachments">
<atom:title> Media</atom:title>
<accept>image/</accept><accept>audio/</accept><accept>video/*</accept>
</collection>

</workspace>
</service>



 Comments   
Comment by davidvc [ 13/Aug/08 ]

Here is the full stack trace:

Exception in thread "main" com.sun.syndication.propono.utils.ProponoException:
ERROR retrieving Atom Service Document, code: -1
at
com.sun.syndication.propono.atom.client.ClientAtomService.<init>(ClientAtomService.java:93)
at
com.sun.syndication.propono.atom.client.AtomClientFactory.getAtomService(AtomClientFactory.java:33)
at com.webflavors.hogwash.CreateBlogs.run(CreateBlogs.java:38)
at com.webflavors.hogwash.CreateBlogs.main(CreateBlogs.java:29)
— ROOT CAUSE —
org.jdom.input.JDOMParseException: Error on line 1: White spaces are required
between publicId and systemId.
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:468)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:770)
at
com.sun.syndication.propono.atom.client.ClientAtomService.<init>(ClientAtomService.java:88)
at
com.sun.syndication.propono.atom.client.AtomClientFactory.getAtomService(AtomClientFactory.java:33)
at com.webflavors.hogwash.CreateBlogs.run(CreateBlogs.java:38)
at com.webflavors.hogwash.CreateBlogs.main(CreateBlogs.java:29)
Caused by: org.xml.sax.SAXParseException: White spaces are required between
publicId and systemId.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.scanExternalID(XMLScanner.java:1026)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(XMLDocumentScannerImpl.java:687)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:963)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
... 5 more
Caused by: org.xml.sax.SAXParseException: White spaces are required between
publicId and systemId.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.scanExternalID(XMLScanner.java:1026)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(XMLDocumentScannerImpl.java:687)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:963)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:770)
at
com.sun.syndication.propono.atom.client.ClientAtomService.<init>(ClientAtomService.java:88)
at
com.sun.syndication.propono.atom.client.AtomClientFactory.getAtomService(AtomClientFactory.java:33)
at com.webflavors.hogwash.CreateBlogs.run(CreateBlogs.java:38)
at com.webflavors.hogwash.CreateBlogs.main(CreateBlogs.java:29)

Comment by snoopdave [ 31/Mar/10 ]

I suspect this is a either a JDOM bug or the service doc is actually malformed XML (whitespace before the
<?xml version="1.0" encoding="utf-8"> line. Hard to tell because the service no longer appears to be
online.





[ROME-50] Feed security and XSS filtering Created: 10/Nov/06  Updated: 10/Nov/06

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Blocker
Reporter: snoopdave Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 50

 Description   

ROME should provide an option to filter all Javascript from all URIs and all
content fields (title, subtitle, description, summary, etc. and more)






[ROME-155] Download section is empty Created: 24/May/11  Updated: 24/May/11

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: shadowcreeper Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: download, jar, missing

 Description   

The downloads section of the web page has nothing to download.

There should be a download link to the latest version of the ROME src-zip/jars (as well as links to past versions).

At the very least, there should be a download link to the latest version of the compiled jar file.

See:
http://java.net/projects/rome/downloads






[ROME-141] Broken RSS feed sends XML parser off on infinite loop Created: 04/Mar/10  Updated: 04/Mar/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Critical
Reporter: bfancher Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 141

 Description   

Fetch a broken XML feed causes ROME to never return. Generating stack traces always shows it stuck somewhere trying to parse the XML
feed. For example:

"Thread-0" prio=5 tid=0x00231320 nid=0xb38a00 runnable [0xb1092000..0xb1092d90]
at sun.nio.cs.UTF_8$Decoder.decodeLoop(UTF_8.java:416)
at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:544)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:445)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)

  • locked <0x1595d9d0> (a java.io.InputStreamReader)
    at sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:132)
  • locked <0x1595d9d0> (a java.io.InputStreamReader)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:176)
  • locked <0x1595d9d0> (a java.io.InputStreamReader)
    at java.io.InputStreamReader.read(InputStreamReader.java:167)
    at com.sun.syndication.io.XmlReader.read(XmlReader.java:394)
    at java.io.Reader.read(Reader.java:103)
    at com.sun.syndication.io.impl.XmlFixerReader.read(XmlFixerReader.java:215)
    at com.sun.syndication.io.impl.XmlFixerReader.read(XmlFixerReader.java:294)
    at org.apache.xerces.impl.XMLEntityManager$EntityScanner.load(XMLEntityManager.java:3265)
    at org.apache.xerces.impl.XMLEntityManager$EntityScanner.scanData(XMLEntityManager.java:2707)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCDATASection(XMLDocumentFragmentScannerImpl.java:901)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.jav
    a:1497)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:329)
    at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:525)
    at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:581)
    at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1175)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:851)
    at com.sun.syndication.io.WireFeedInput.build(WireFeedInput.java:194)
    (my code . . .)

Curling the feed url shows that the feed is broken:

bfancher:~ bruce$ curl http://www.columbiafoursquare.com/breakthrough/podcasts/podcast.xml
<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<atom:link rel="self" href="http://breakthrough.columbiafoursquare.com/podcasts/podcast.xml" type="application/rss+xml" />
<lastBuildDate>Thu, 18 Feb 2010 17:29:15 -0800</lastBuildDate>
<title>Breakthrough</title>
<itunes:author>Breakthrough Youth Church</itunes:author>
<link>http://breakthrough.columbiafoursquare.com</link>
<generator>Podcast Maker v1.3.8b - http://www.lemonzdream.com/podcastmaker</generator>
<description />
<itunes:subtitle />
<itunes:summary />
<language>en</language>
<copyright />
<image>
<url>http://breakthrough.columbiafoursquare.com/podcasts/breakthrough_%20logo%20copy_144.jpg</url>
<title>Breakthrough</title>
<link>http://breakthrough.columbiafoursquare.com</link>
<width>144</width>
<height>108</height>
</image>
<itunes:image href="http://breakthrough.columbiafoursquare.com/podcasts/breakthrough_%20logo%20copy.jpg" />
<category>Christianity</category>
<itunes:category text="Religion & Spirituality">
<itunes:category text="Christianity" />
</itunes:category>
<itunes:keywords />
<itunes:explicit>no</itunes:explicit>
<item>
<title>The Above and Beyond God! </title>
<itunes:author>Breakthrough Youth Church</itunes:author>
<description><![CDATA[Audra Thurman || Sermon]bfancher:~ bruce$






[ROME-123] Yahoo MediaRSS <media:content/> can't handle URLs with spaces Created: 25/Feb/09  Updated: 25/Feb/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Critical
Reporter: jabley Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 123

 Description   

Some feeds contains url attributes that aren't valid URIs. The current code
expects the url attribute to be a URI, even though the spec doesn't mention URIs
in this context.

Test and patch below.

Index:
subprojects/modules/mediarss/src/java/com/sun/syndication/feed/module/mediarss/io/MediaModuleParser.java
===================================================================
RCS file:
/cvs/rome/subprojects/modules/mediarss/src/java/com/sun/syndication/feed/module/mediarss/io/MediaModuleParser.java,v
retrieving revision 1.12
diff -u -r1.12 MediaModuleParser.java

subprojects/modules/mediarss/src/java/com/sun/syndication/feed/module/mediarss/io/MediaModuleParser.java
7 Jan 2009 22:54:47 -0000 1.12
+++
subprojects/modules/mediarss/src/java/com/sun/syndication/feed/module/mediarss/io/MediaModuleParser.java
25 Feb 2009 15:58:34 -0000
@@ -43,6 +43,7 @@
import com.sun.syndication.io.impl.NumberParser;

import java.net.URI;
+import java.net.URL;

import org.jdom.Element;
import org.jdom.Namespace;
@@ -112,7 +113,7 @@
if (content.getAttributeValue("url") != null) {
try

{ mc = new MediaContent(new UrlReference( - new URI(content.getAttributeValue("url")))); + new URL(content.getAttributeValue("url")).toURI())); mc.setPlayer(parsePlayer(content)); }

catch (Exception ex)

{ LOG.log(Level.WARNING, "Exception parsing content tag.", ex); Index: subprojects/modules/mediarss/src/test/com/sun/syndication/feed/module/mediarss/MediaModuleTest.java =================================================================== RCS file: /cvs/rome/subprojects/modules/mediarss/src/test/com/sun/syndication/feed/module/mediarss/MediaModuleTest.java,v retrieving revision 1.6 diff -u -r1.6 MediaModuleTest.java --- subprojects/modules/mediarss/src/test/com/sun/syndication/feed/module/mediarss/MediaModuleTest.java 7 Dec 2006 00:25:40 -0000 1.6 +++ subprojects/modules/mediarss/src/test/com/sun/syndication/feed/module/mediarss/MediaModuleTest.java 25 Feb 2009 15:58:34 -0000 @@ -16,6 +16,7 @@ import java.io.BufferedWriter; import java.io.FileWriter; import java.io.InputStreamReader; +import java.io.StringReader; import java.net.URL; import java.util.Iterator; import java.util.List; @@ -74,6 +75,26 @@ }

}

+ public void testParseMediaContentContainingURLWithSpaces() throws Exception

{ + SyndFeedInput input = new SyndFeedInput(); + SyndFeed feed = input.build(new StringReader( + "<rss version=\"2.0\" xmlns:media=\"http://search.yahoo.com/mrss/\">" + + "<channel>" + + "<title>My Movie Review Site</title>" + + "<link>http://www.foo.com</link>" + + "<description>I review movies.</description>" + + "<item>" + + "<title>Movie Title: Is this a good movie?</title>" + + "<link>http://www.foo.com/item1.htm</link>" + + "<media:content url=\"http://www.foo.com/path/containing spaces/trailer.mov\"" + +"fileSize=\"12216320\" type=\"video/quicktime\" expression=\"sample\"/>" + + "</item>" + + "</channel>" + + "</rss>")); + + SyndEntry entry = (SyndEntry) feed.getEntries().get(0); + MediaEntryModule m = (MediaEntryModule) entry.getModule(MediaEntryModule.URI ); + }

/** This code represents the original MediaModuleTest main class from
openvision.tv
*/






[ROME-106] Automate publishing artifacts into java.net maven repo Created: 02/Oct/08  Updated: 02/Oct/08

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Critical
Reporter: antonystubbs Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 106

 Description   

This will be made easier with fixing:
https://rome.dev.java.net/issues/show_bug.cgi?id=83

I would also volunteer to make a pom.xml for rome-fetcher if you can't quickly
do it yourselves.






[ROME-73] Expose xml:lang field in Atom parser Created: 27/Apr/07  Updated: 13/Aug/07

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Critical
Reporter: rjbodkin Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 73

 Description   

We want to find the language of postings in Atom feeds, but this information
isn't retained by the Atom1.0 parser. It would be nice to have SyndEntry store
this metadata. E.g., in

<content type="html" xml:lang="en-US"
xml:base="http://cpdweblog.typepad.com/chicago_police_department/">
...
</content>

We'd like to have the "en-US" value available.



 Comments   
Comment by tucu [ 02/May/07 ]

xml:lang and other namespaces attributes cannot be retrieved from ROME Beans.

I would defer this for next rev.

Comment by snoopdave [ 13/Aug/07 ]

This is an enhancement request, not a bug.





[ROME-152] Locale dependent parse for YWeather rss Created: 10/Dec/10  Updated: 10/Dec/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: deleted_user Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: All


Issuezilla Id: 152

 Description   

Modules project, yahoo weather client.
When trying to parse rss response the library uses the default locale to build
SimpleDateFormat to parse the date coming in the response. So, if my default
locale is not en-us, I get ParseExceptions for many items in the feed. And it
feels tricky to make SimpleDateFormat instance static field cause date formats
are not synchronized.

Becides, they report info about wind in the following way:
<yweather:wind chill="-8" direction="290" speed="20.92" />
But the library tryes to parse speed as integer and fails.






[ROME-151] rome-fetcher results in "too many open files" Created: 09/Dec/10  Updated: 09/Dec/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Major
Reporter: sujitpal Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Other


Attachments: Text File patch.txt    
Issuezilla Id: 151

 Description   

I was running a Java batch program (using rome-feedfetcher) from the command
line (call it client), that sends about 10,000 terms to a a RSS producing
service (call it server A), which then proxies to another RSS producing service
(call it server B) for part of its data using rome-feedfetcher.

The client instantiates a single HttpClientFeedFetcher and calls server A with a
fetcher.retrieveFeed(URL). Server A is a Spring app with a single
HttpClientFeedFetcher set into its application context. Server A then sends a
request to server B with its own fetcher.retrieveFeed(URL).

Occasionally, the server A would return a 500 error to the client. The stack
trace indicates that too many sockets are open on server A (too many open
files). If I stop the client and restart few minutes later, it will keep going
and then stop again with a 500 error after a couple of 100 terms. Waiting longer
between restarts increases the number of terms processed.

Looking at the source, I see that HttpClientFeedFetcher instantiates an
HttpClient object for every invocation of retrieveFeed(URL). According to this
page. My theory is that each HttpClient grabs a socket which eventually gets
garbage collected, but my client is asking for sockets faster than the server A
can garbage collect them.

According to this page:
http://hc.apache.org/httpclient-3.x/performance.html

it is advisable to have a single HttpClient reused across multiple invocations.
The attached patch does this. In addition (because it has to work within a
server environment), I am using the MultiThreadedHttpConnectionManager (default
pool size 20), and have added a poolSize member with getPoolSize() and
setPoolSize().

Using the patched JAR allowed me to run through all the terms in one shot
without the need for a restart.



 Comments   
Comment by sujitpal [ 09/Dec/10 ]

Created an attachment (id=47)
patch file (created at root of fetcher project)





[ROME-150] Content Module: Suggested changes to content:encoded tag Created: 03/Dec/10  Updated: 03/Dec/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: sujitpal Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Other


Issuezilla Id: 150

 Description   

Current ROME version: 1.0
Current ROME Content Module version: 0.4

I am using ROME to generate an RSS 2.0 feed to represent a mashup page. Each
component of the mashup needs to have a title, description, a short snippet and
a long snippet (the last 2 are optional, but both can be specified for a given
component).

I am currently using the following mappings:
title => /rss/channel/item/title
description => /rss/channel/item/description
short_snippet => /rss/channel/item/content:encoded[0]
long_snippet => /rss/channel/item/content:encoded[1]

Currently I am relying on convention, ie, I always build two content:encoded
elements per item (it is empty if either or both short_snippet and long_snippet
are not specified) and during parse time, the client would have to /know/ that
content:encoded[0] is the short snippet and content:element[1] is the long snippet.

Would be nice if content:encoded allowed an attribute (the closest equivalent I
could find was Atom content@type attribute, although I would prefer it not
enforce the valid mime type restriction). The attribute could be optional and
would default to current rendering if not specified.

Would this be something that is feasible? I know it involves changing the spec,
which is frozen/unspecified, depending on how you look at it, so it may not be
"correct" to have ROME support something that is not allowed by the spec. But it
would be nice to have...

Thanks






[ROME-149] Use proper log warning instead of printing to System.err when fetcher.properties is not found Created: 27/Nov/10  Updated: 27/Nov/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: deleted_user Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 149

 Description   

The AbstractFeedFetcher will print the warning directly to System.err. It should
use a proper log instead (especially since the absence of fetcher.properties
does not prevent the feature to work)






[ROME-148] SyndFeedImpl#equals throws ClassCastException if compared to an instance of a different class Created: 13/Oct/10  Updated: 13/Oct/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: cole_markham Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 148

 Description   

The equals method of SyndFeedImpl does not check the type of the object being
compared to before casting to SyndFeedImpl. If you compare with an instance of
another class then it throws a class cast. This is in violation of the contract
for equals. See also ROME-81 which was closed.






[ROME-147] Contradictory license terms for ROME Modules Created: 27/Jul/10  Updated: 05/Aug/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: danrabe Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 147

 Description   

The main ROME page states that ROME is licensed under Apache 2.0.

However, some of the ROME Modules files contain copyright statements that are
contradictory to Apache 2.0.

The following files appear to be LGPL only:
./com/sun/syndication/feed/module/base/CustomTag.java
./com/sun/syndication/feed/module/base/CustomTagImpl.java
./com/sun/syndication/feed/module/base/CustomTags.java
./com/sun/syndication/feed/module/base/CustomTagsImpl.java
./com/sun/syndication/feed/module/base/io/CustomTagGenerator.java
./com/sun/syndication/feed/module/base/io/CustomTagParser.java
./com/sun/syndication/feed/module/base/ValidationException.java
./com/sun/syndication/feed/module/itunes/io/ITunesParserOldNamespace.java

The following files do not contain a copyright or license statement:
./com/sun/syndication/feed/module/georss/geometries/AbstractCurve.java
./com/sun/syndication/feed/module/georss/geometries/AbstractGeometricPrimitive.java
./com/sun/syndication/feed/module/georss/geometries/AbstractGeometry.java
./com/sun/syndication/feed/module/georss/geometries/AbstractRing.java
./com/sun/syndication/feed/module/georss/geometries/AbstractSurface.java
./com/sun/syndication/feed/module/georss/geometries/Envelope.java
./com/sun/syndication/feed/module/georss/geometries/LinearRing.java
./com/sun/syndication/feed/module/georss/geometries/LineString.java
./com/sun/syndication/feed/module/georss/geometries/Point.java
./com/sun/syndication/feed/module/georss/geometries/Polygon.java
./com/sun/syndication/feed/module/georss/geometries/Position.java
./com/sun/syndication/feed/module/georss/geometries/PositionList.java
./com/sun/syndication/feed/module/mediarss/io/AlternateMediaModuleParser.java
./com/sun/syndication/feed/module/sle/io/LabelNamespaceElement.java
./com/sun/syndication/feed/module/sle/io/ModuleGenerator.java
./com/sun/syndication/feed/module/sse/modules/Conflict.java
./com/sun/syndication/feed/module/sse/modules/Conflicts.java
./com/sun/syndication/feed/module/sse/modules/History.java
./com/sun/syndication/feed/module/sse/modules/Related.java
./com/sun/syndication/feed/module/sse/modules/Sharing.java
./com/sun/syndication/feed/module/sse/modules/SSEModule.java
./com/sun/syndication/feed/module/sse/modules/Sync.java
./com/sun/syndication/feed/module/sse/modules/Update.java
./com/sun/syndication/feed/module/sse/SSE091Generator.java
./com/sun/syndication/feed/module/sse/SSE091Parser.java

We would like to use this library in a commercial product, but our corporate
lawyers require that every source code file be explicit about its licensing
terms. If the intent of the ROME modules project is to release this software
under an Apache 2.0 license, then we would request that this be made explicit in
all of the files.



 Comments   
Comment by tucu [ 05/Aug/10 ]

as a temporary solution, you could use Rome just without those modules.





[ROME-146] Rome 1.0 does not follow the W3C Feed Validator recommendations Created: 27/Apr/10  Updated: 27/Apr/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: luzifer42 Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 146

 Description   

Rome 1.0 does not follow the W3C Feed Validator recommendations.

"A channel should not include both category and dc:subject"
"A channel should not include both pubDate and dc:date"
"A channel should not include both language and dc:language"
"A channel should not include both copyright and dc:rights"

input:
================
public class TestPodDate {
public static void main(String[] args) throws Throwable {
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
feed.setTitle("Title");
feed.setLink("http://www.link.com");
feed.setDescription("Description");

feed.setPublishedDate(new Date());
feed.setLanguage("en");
feed.setCopyright("Copyright");
SyndCategory c=new SyndCategoryImpl();
c.setName("Category");
feed.setCategories(Arrays.asList(new SyndCategory[]

{c}

));

new SyndFeedOutput().output(feed,new OutputStreamWriter(System.out));
}
}

output:
================
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
<channel>
<title>Title</title>
<link>http://www.link.com</link>
<description>Description</description>
<language>en</language>
<copyright>Copyright</copyright>
<pubDate>Tue, 27 Apr 2010 15:13:45 GMT</pubDate>
<category>Category</category>
<dc:subject>Category</dc:subject>
<dc:date>2010-04-27T15:13:45Z</dc:date>
<dc:language>en</dc:language>
<dc:rights>Copyright</dc:rights>
</channel>
</rss>






[ROME-140] Add support for file:// URLs to ROME Fetcher Created: 11/Feb/10  Updated: 11/Feb/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: dwdyer Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 140

 Description   

Using ROME Fetcher, I would like to read an RSS file from the file system but
it doesn't seem to be possible. I want to write a test that reads a known RSS
file as test data.

The HTTP fetcher complains if the URL is not an HTTP URL. Perhaps there needs
to be another implementation for file URLs?






[ROME-139] Rome propono issue: 'Category' in service document not correctly parsed Created: 29/Jan/10  Updated: 31/Mar/10

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: floysand Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: PC


Issuezilla Id: 139

 Description   

There is a problem with attributes on "category" elements of a service document.
The rome propono library won't recognize the attribute "term" (or any other
attributes) unless they are prefixed with namespace "atom:".

This prefix on the attributes should not be needed if the namespaces are defined
correctly. An example of this can be seen in the examples provided by the APP
RFC:
http://www.atomenabled.org/developers/protocol/atom-protocol-spec.php#appdocs_example.

If I use the following code to parse the service document given in the example,
the attributes of the "atom:category" elements in the second collection are null.

...
AtomService atomService = ClientAtomService.documentToService(jdom_doc);
(where jdom_doc is a org.jdom.Document of the example atom service document)
....

The term attributes and scheme attributes should both have a value, as the draft
from the example shows:

<categories fixed="yes">
<atom:category
scheme="http://example.org/extra-cats/"
term="joke" />
<atom:category
scheme="http://example.org/extra-cats/"
term="serious" />
</categories>

I also tried to make a call to cateogoriesToElement() on the "Categories"
object, but this throws an exception due to that a null value is not allowed for
the "term" attribute.

If I prefix the attributes of the "atom:cateogory" with "atom:", then all is fine.



 Comments   
Comment by snoopdave [ 31/Mar/10 ]

I suspect this is a JDOM bug and we won't be able to do much about it. Please post the service document
that you are attempting to parse so we can see how your namespaces are defined.





[ROME-138] pom.xml fixes Created: 26/Dec/09  Updated: 26/Dec/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Major
Reporter: hboutemy Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File rome-138.txt    
Issuezilla Id: 138

 Description   

little fixes I had to do with provided pom.xml to get Rome properly compiling on
my computer



 Comments   
Comment by hboutemy [ 26/Dec/09 ]

Created an attachment (id=44)
pom.xml patch file





[ROME-137] mediarss module : bug in parsing isDefault media:content attribute. Created: 16/Oct/09  Updated: 16/Oct/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: mably Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 137

 Description   

In file com.sun.syndication.feed.module.mediarss.io.MediaModuleParser.java at line
192 :

Boolean.getBoolean(...) is used instead of Boolean.parseBoolean(...) or
Boolean.valueOf(...) -> mediacontent.isDefaultContent() always returns false even
when it should return true.






[ROME-136] RSS item description is not complete Created: 06/Oct/09  Updated: 06/Oct/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Major
Reporter: kimhuat Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: XML File rss.xml    
Issuezilla Id: 136

 Description   

When trying to parse the RSS item below, the description obtained is not
complete.

<item>
<title>Single-Session Primary Schools</title>
<description>
<img
src="http://www.moe.gov.sg/media/spotlight/assets_c/2009/09/spotlight-single-
session-thumb-120x80-282.jpg" alt="Teacher and his students tossing frisbees
into the air" />
<![CDATA[<p>MOE will be <a href
="http://www.moe.gov.sg/media/press/2009/09/moe-to-build-new-primary-
schoo.php">building 11 new primary schools and upgrading another 28 existing
schools from November 2009</a>. This is the first phase of MOE's plans to
enhance primary school infrastructure to facilitate the transition of all
primary schools to a single-session model to support a higher quality primary
education.</p>]]>
</description>
<link>http://feedproxy.google.com/~r/singapore-
education/spotlight/~3/vnNsA4Hdk6U/</link>
<guid isPermaLink="false">http://www.moe.gov.sg/media/spotlight/</guid>
<pubDate>Fri, 25 Sep 2009 10:00:00 +0800</pubDate>
<feedburner:origLink>http://www.moe.gov.sg/media/spotlight/</feedburner:
origLink>
</item>

The description that is obtained does not contain the <img /> element. The
description obtained is:

<p>MOE will be <a href ="http://www.moe.gov.sg/media/press/2009/09/moe-to-build-
new-primary-schoo.php">building 11 new primary schools and upgrading another 28
existing schools from November 2009</a>. This is the first phase of MOE's plans
to enhance primary school infrastructure to facilitate the transition of all
primary schools to a single-session model to support a higher quality primary
education.</p>

Should the parseItemDescription() method be changed to something like the code
fragment below?

protected Description parseItemDescription(Element rssRoot,Element eDesc) {
XMLOutputter output = new XMLOutputter();
String value = "";
List eContent = eDesc.getContent();
Iterator i = eContent.iterator();
while (i.hasNext()) {
org.jdom.Content c = (org.jdom.Content) i.next();
if (c instanceof Element)

{ Element eC = (Element) c; value = value + output.outputString(eC); }

else

{ value = value + c.getValue(); }

}

Description desc = new Description();
desc.setType("text/plain");
desc.setValue(value);
return desc;
}



 Comments   
Comment by kimhuat [ 06/Oct/09 ]

Created an attachment (id=43)
Sample RSS feed where parsed description is not complete

Comment by kimhuat [ 06/Oct/09 ]

I think the contents of the description element which I provided is not
entirely valid. It should be:

<description>
<![CDATA[<img
src="http://www.moe.gov.sg/media/spotlight/assets_c/2009/09/spotlight-single-
session-thumb-120x80-282.jpg" alt="Teacher and his students tossing frisbees
into the air" /><p>MOE will be <a
href="http://www.moe.gov.sg/media/press/2009/09/moe-to-build-new-primary-
schoo.php">building 11 new primary schools and upgrading another 28 existing
schools from November 2009</a>. This is the first phase of MOE's plans to
enhance primary school infrastructure to facilitate the transition of all
primary schools to a single-session model to support a higher quality primary
education.</p>]]>
</description>

However, is it possible to consider the code modifications I have provided so
that this type of scenarios can be handled as well?





[ROME-134] class loading problem under OSGi Created: 08/Sep/09  Updated: 08/Sep/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: seli Assignee: rome-issues
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All
URL: http://js.jipiju.com/2009/08/04/osgi-jumping-through-classoading-hoops/


Issuezilla Id: 134

 Description   

I'm not sure whether to call this a defect or a patch. I'd just like to make you
aware of a blog post (given as URL above) that solved a problem I had when
integrating ROME into Day Communiqué 5, a web content management system based on
Apache Sling (and thus using OSGi bundles to deploy libraries). That blog post
explains that in an OSGi context, using
Thread.currentThread().getContextClassLoader() leads to the wrong class loader.
I followed the advice given there and changed all occurrences of that expression
to this.getClass().getClassLoader() (or

{Classname}

.class.getClassLoader() in
static contexts) in the ROME source, and this solved my problems. I'm not
familiar enough with class loading issues to say whether this is the right
approach both within and outside of OSGi, just wanted to let you developers know
and leave the issue for you to ponder.






[ROME-133] Incorrect hanling of CDATA sections Created: 12/Aug/09  Updated: 11/Nov/13

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: teilo Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All
URL: http://rtl-now.rtl.de/rss.php


Attachments: GZip Archive romeTest.tar.gz     GZip Archive romeTest.tar.gz    
Issuezilla Id: 133

 Description   

Rome incorrectly handles the CDATA encoded content and escapes the values so
they end up doubly escaped.

e.g.
<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
<channel>
...
<item>
<link>http://serv/cgi?bob=fred&amp;jane=freddy</link>
</item>
<item>
<link><![CDATAhttp://serv/cgi?bob=fred&jane=freddy]></link>
</item>
</channel>
</rss>

when dumped/retrieved the two entries should be the same however the second
items link has the & escaped whereas the first is correct and as expected (the
escape sequence has been removed)

SyndFeedImpl.entries[0].link=http://serv/cgi?bob=fred&jane=freddy
SyndFeedImpl.entries[1].link=http://serv/cgi?bob=fred&amp;jane=freddy

That is when retreived and no longer inside XML the CDATA section should be
returned as-is without the CDATA section wrapping. Elements without this should
have any escaping removed.

test case attached.



 Comments   
Comment by teilo [ 12/Aug/09 ]

Created an attachment (id=41)
test case

Comment by teilo [ 12/Aug/09 ]

Created an attachment (id=42)
test case (with correct compiler settings)

Comment by teilo [ 13/Aug/09 ]

The bug is actually in the XmlFixerReader class. It blindly attempts to replace
all & that are not followed by a ; with &.

While this is an admirable approach to fixing bad XML it MUST NOT do this for
content inside a CDATA section that doesn't need escaping.

Comment by beafdefx [ 11/Nov/13 ]

Four years later and this is still a problem. Feeds that use CDATA to provide links with ampersands are coming back with & in the string returned by the ROME APIs. Some ESPN feeds are notable examples.

http://search.espn.go.com/len-pasquarelli/

<item>
<title><![CDATA[New starting left tackles in the NFL this season should include youngsters such as Baltimore Ravens' Michael Oher, Dallas Cowboys' Doug Free and Seattle Seahawks' Russell Okung]]></title>
<link><![CDATAhttp://sports.espn.go.com/nfl/trainingcamp10/columns/story?columnist=pasquarelli_len&id=5422693]></link>
<guid isPermaLink="true"><![CDATAhttp://sports.espn.go.com/nfl/trainingcamp10/columns/story?columnist=pasquarelli_len&id=5422693]></guid>
<description><![CDATA[
<a href="http://api.tweetmeme.com/share?url=http://sports.espn.go.com/nfl/trainingcamp10/columns/story?columnist=pasquarelli_len&id=5422693&amp;service=tinyurl.com&amp;source=espn"><img style="padding-left:10px;" align="right" border="0" style="border:none;" src="http://api.tweetmeme.com/imagebutton.gif?url=http://sports.espn.go.com/nfl/trainingcamp10/columns/story?columnist=pasquarelli_len&id=5422693" height="49" width="41" /></a>
Many of the league's right-handed QBs will be trusting their blind sides to a green crop of left tackles, writes Len Pasquarelli.]]></description>
<pubDate>July 30, 2010 04:03:02 PDT</pubDate>
</item>

Is there any intent to fix this?





[ROME-132] NPE for Twitter Atom feed with OpenSearch module Created: 16/Jul/09  Updated: 16/Jul/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: orpheusx Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Issuezilla Id: 132

 Description   

Twitter, like Google's Blog Search feeds, include a subset of OpenSearch tags in
their search based Atom feeds. However, they don't include a <startIndex> tag.
The code in
com.sun.syndication.feed.module.opensearch.impl.OpenSearchModuleParser assumes
that the tag exists and tries to parse it's value into an integer. The
<itemsPerPage> tag is handled the same way. This results in
NullPointerExceptions when parsing one of their feeds.

My reading of
http://www.opensearch.org/Specifications/OpenSearch/1.1#The_.22startIndex.22_element
leads me to believe that the parser should handle missing <startIndex> and
<itemsPerPage> without RuntimeExceptions.

The fix is simply:
80c80,81
< osm.setStartIndex(Integer.parseInt(e.getText()));

> if(e!=null)
> osm.setStartIndex(Integer.parseInt(e.getText()));






[ROME-131] Atom 1.0 Standalone Entry Items are not supported correctly Created: 30/Jun/09  Updated: 30/Jun/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: justink Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 131

 Description   

Atom 1.0 Standalone Entry Items are not supported correctly. Right now when
parsing an Feed that contains a root "Entry" element rather than a feed element,
ROME reads it as a feed object (SyndFeedImpl). This is not correct, and some
elements are mapped differently (i.e. Updated field moves to Published date,
etc), and some are completely missed out (for example the <content> element.

To provide further context, I have a feed that has two URIs, one for returning a
list of items, and another for returning discrete items. The first service
returns a list of entry items, and this works fine. The second returns the entry
item, but ROME uses the SyndFeed parser and misses out some information, and
also requires me to write extra code since SyndFeed and SyndEntry are not
super/sub classes or each other (ie. I would like to use the code I have already
written that reads the SyndEntry object in the "List" service implementation).

I noted that in 2007, someone else mentioned this problem, and was told that the
Atom10Parser class would get a public static method to parse the feed, but this
seems to have been removed.

I suggest adding a Atom10Parser.parseEntry() method, the same as parseFeed. Or
enhance parseFeed to check if it is a entry and parse accordingly.






[ROME-129] Failing to load rome.properties Created: 20/Apr/09  Updated: 20/Apr/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: buckett Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh
URL: http://sakaiproject.org


Attachments: Text File rome-129.patch    
Issuezilla Id: 129

 Description   

Currently we use an old version of rome, rome-fetcher in Sakai
(http://sakaiproject.org) and I was looking as upgrading them to the latest
version to them. Currently Sakai has complicated classloader setup. There is a
description of it here.

https://source.sakaiproject.org/svn/reference/trunk/docs/architecture/sakai_component.doc

Sakai runs ontop of tomcat and each "component" has it's own classloader that
child of the shared classloader. The API for the component goes in shared so
that both the component and any webapp can access. The component then implements
this APi. But the implementation code can't be accessed by the webapp as the
component's classloader isn't a parent of the webapps. This prevents any webapps
accessing anything in a component.

Currently there is an API for getting RSS feeds which is implemented by a
component containing rome. The problem is that when a webapp calls through to
this component the thread classloader is still set to the webapp's so it
attempts to load the master configuration file (rome.properties) from the
webapp. This fails and causes rome to stop working.

It would be useful if PropertiesLoader could use either the thread classloader
or the classloader that loaded PropertiesLoader to load the configuration.



 Comments   
Comment by buckett [ 20/Apr/09 ]

Created an attachment (id=34)
A patch that makes the classloader rome uses configurable

Comment by buckett [ 20/Apr/09 ]

The attached patch fixes rome so it works in Sakai. It allows the classloader to
be configured through the system property:

rome.use.thread.classloader

It defaults to false which is a change in behaviour from the current version of
rome.





[ROME-130] SyndFeedImpl copyFrom method does not copy Entry Categories Created: 18/May/09  Updated: 19/May/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: gmonroe Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File CategoryCopyFrom.patch     Java Source File CopyFromBugTestCase.java     Java Source File NewCopyFromBugTestCase.java     XML File test.xml     XML File test.xml    
Issuezilla Id: 130

 Description   

The entry objects in a a SyndFeedImpl object (or subclass of this) populated
with the copyFrom method will not have their categories set from the originals.
I.e., "this.copyFrom(original); ((SyndEntry)
(this.getEntries().get(0))).getCategories());" will always return an empty list.



 Comments   
Comment by gmonroe [ 18/May/09 ]

Created an attachment (id=35)
Simple test case code to illustrate bug

Comment by gmonroe [ 18/May/09 ]

Created an attachment (id=36)
Simple RSS Feed XML with Entry Categories to go with Java code

Comment by gmonroe [ 18/May/09 ]

Created an attachment (id=37)
A *WORKING Simple RSS Feed XML with Entry Categories to go with Java code (Sorry, grabbed the wrong file for first attachment) (text/xml)

Comment by martinkurz [ 18/May/09 ]

Created an attachment (id=38)
patch for described problem: SyndCategory now extends CopyFrom, SyndCategoryImpl implements CopyFrom and SyndEntryImpl also copies categories.

Comment by gmonroe [ 19/May/09 ]

The patch as supplied is "almost" correct... one minor problem is the wrong
interface was used in the CopyFromHelper creation line in the SyndCategoryImpl
class. SyndContent.class should be SyndCategory.class

The patch works if line 54 of the patch is changed from:

+ COPY_FROM_HELPER = new
CopyFromHelper(SyndContent.class,basePropInterfaceMap,basePropClassImplMap);

to

+ COPY_FROM_HELPER = new
CopyFromHelper(SyndCategory.class,basePropInterfaceMap,basePropClassImplMap);

FWIW - I'm uploading a "New Improved" test case that doesn't require the
external XML file and tests that both Feed level and Entry level categories are
working. It checks that the original categories read are correct in number,
order, and a couple of expected values. It also checks that categories in both
SyndFeedImpl objects filled with the copyFrom and SyndEntryImpl objects are
handled correctly.

It can easily be converted to a junit test if you are using this.

Comment by gmonroe [ 19/May/09 ]

Created an attachment (id=39)
New Improved test case to check categories - In case it's needed: I grant all rights to this code to this project.





[ROME-128] NPE in OpenSearchModuleParser Created: 18/Apr/09  Updated: 22/May/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: jnadler Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Macintosh


Attachments: Text File rome-128.patch    
Issuezilla Id: 128

 Description   

For twitter search feeds, partial implementation of OpenSearch causes an NPE.

Sample Feed URL that demonstrates the problem:
http://search.twitter.com/search.atom?q=Streetofeames

Exception: Caused by: java.lang.NullPointerException
com.sun.syndication.feed.module.opensearch.impl.OpenSearchModuleParser.parse(OpenSearchModuleParser.java:80)

Fix: Wrap itemsPerPage and startIndex in 'if (e != null)' like is done with
totalResults already:

e = dcRoot.getChild("itemsPerPage", OS_NS);

if (e != null) {
foundSomething = true;

try

{ osm.setItemsPerPage(Integer.parseInt(e.getText())); }

catch(NumberFormatException ex)

{ // Ignore setting the field and post a warning System.err.println("Warning: The element itemsPerPage must be an integer value: " + ex.getMessage()); }

}

e = dcRoot.getChild("startIndex", OS_NS);

if (e != null) {
foundSomething = true;

try

{ osm.setStartIndex(Integer.parseInt(e.getText())); }

catch(NumberFormatException ex)

{ // Ignore setting the field and post a warning System.err.println("Warning: The element startIndex must be an integer value: " + ex.getMessage()); }

}



 Comments   
Comment by buckett [ 22/May/09 ]

Created an attachment (id=40)
The changes the reported suggested as a patch.





[ROME-126] module.mediarss NullPointerException: Scheme and value cannot be null Created: 28/Mar/09  Updated: 26/Feb/12

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: bwalsh Assignee: rome-issues
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 126

 Description   

Get this error on a regular basis

Mar 28, 2009 12:59:37 AM
com.sun.syndication.feed.module.mediarss.io.MediaModuleParser parseMetadata
WARNING: Exception parsing rating tag.
java.lang.NullPointerException: Scheme and value cannot be null.
at
com.sun.syndication.feed.module.mediarss.types.AbstractSchemeValue.<init>(AbstractSchemeValue.java:40)
at
com.sun.syndication.feed.module.mediarss.types.Rating.<init>(Rating.java:66)
at
com.sun.syndication.feed.module.mediarss.io.MediaModuleParser.parseMetadata(MediaModuleParser.java:331)
at
com.sun.syndication.feed.module.mediarss.io.MediaModuleParser.parse(MediaModuleParser.java:91)
at
com.sun.syndication.io.impl.ModuleParsers.parseModules(ModuleParsers.java:51)
at
com.sun.syndication.io.impl.BaseWireFeedParser.parseFeedModules(BaseWireFeedParser.java:64)
at
com.sun.syndication.io.impl.RSS090Parser.parseChannel(RSS090Parser.java:170)
at
com.sun.syndication.io.impl.RSS091UserlandParser.parseChannel(RSS091UserlandParser.java:84)
at
com.sun.syndication.io.impl.RSS092Parser.parseChannel(RSS092Parser.java:49)
at
com.sun.syndication.io.impl.RSS094Parser.parseChannel(RSS094Parser.java:45)
at com.sun.syndication.io.impl.RSS090Parser.parse(RSS090Parser.java:82)
at com.sun.syndication.io.WireFeedInput.build(WireFeedInput.java:277)
at com.sun.syndication.io.WireFeedInput.build(WireFeedInput.java:195)
at com.sun.syndication.io.SyndFeedInput.build(SyndFeedInput.java:123)



 Comments   
Comment by ollijm [ 24/May/11 ]

Bumb! This NullPointerException seems to happen with all the feeds containing element <media:rating>adult|nonadult</media:rating> and is still present in rome-modules-1.0.jar. Any chance of getting this fixed?

Comment by xnejp03 [ 26/Feb/12 ]

Same here, this bug is breaking parsing many feeds with media namespace.





[ROME-125] Broken download link Created: 26/Mar/09  Updated: 26/Mar/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: alv131 Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 125

 Description   

The download link is not ok:

https://rome.dev.java.net/dist/rome-1.0-sources.zip --->
https://rome.dev.java.net/dist/rome-1.0-sources.jar






[ROME-124] SyndEntryImpl can't cope with RSS items that have both <pubDate/> and <dc:date/> Created: 03/Mar/09  Updated: 03/Mar/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: jabley Assignee: rome-issues
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File 124.diff    
Issuezilla Id: 124

 Description   

As per the mailing list discussion.

https://rome.dev.java.net/servlets/ReadMsg?list=users&msgNo=1724



 Comments   
Comment by jabley [ 03/Mar/09 ]

Created an attachment (id=33)
Basic patch with a test showing the problem and possible solution





[ROME-115] Rome tests fail with ibm-jdk-1.6 Created: 21/Dec/08  Updated: 21/Dec/08

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: firari Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All
URL: http://bugs.gentoo.org/show_bug.cgi?id=220499


Issuezilla Id: 115

 Description   

As reported in Gentoo bug in URL one of the tests fail with ibm-jdk-1.6. Now
long after that bug report, I tried 1.0RC1 with 1.6.0.3 and still the exact same
test fails.






[ROME-113] namespace prefixes in modules Created: 13/Dec/08  Updated: 13/Dec/08

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: martinkurz Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File namespaces.patch    
Issuezilla Id: 113

 Description   

Hi,

at this time, it isn't possible to have different modules with different
namespaces but the same namespace prefix in rome. The problem is:
RSS090Generator, RSS091UserlandGenerator, Atom03Generator and Atom10Generator
are using generateModuleNamespaceDefs in BaseWireFeedGenerator, which tries to
add all modules namespaces to the DOM and afterwards the not needed namespaces
are removed by purgeUnusedNamespaceDeclarations in the same class.

Now i went into trouble when trying to implement two modules with different
version of a rss-extension that use both the same prefix (they are never used in
the same feed of course but in the same application). This results in a JDOM
exception when trying to add a further namespace with the same prefix that isn't
needed in the feed.

My solution is: Instead of first adding all available module-namespaces to the
feed and afterwards removing those not needed by traversing the dom, I'm adding
all the elements in my modules with namespaces added locally and afterwards
traversing the complete dom, removing the local namespaces an collecting them
for attaching at root level.

A patch will follow soon.

Greetings,

Martin



 Comments   
Comment by martinkurz [ 13/Dec/08 ]

Created an attachment (id=26)
patch for adding just the used namespaces in feed





[ROME-111] Atom 1.0 Validation failure with message "Missing feed element: id" Created: 27/Nov/08  Updated: 08/Sep/11

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: elmomalmo Assignee: rome-issues
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 111

 Description   

Firstly, apologies if this has been reported before. I couldn't find it if it has.

I validated an Atom 1.0 feed that I generated using ROME 1.0RC1 with the
validator at http://validator.w3.org/feed/. It mostly fared well but both the
<feed> element and all the <entry> elements failed wit the message "Missing feed
element: id"

It seems to me that the generated XML should validate at the very least.

Cheers

Elwyn



 Comments   
Comment by jjvalent [ 08/Sep/11 ]

Need to use setUri on the SyndFeed object. This populates the Atom Id.





[ROME-107] NumberFormatException in method RSS091UserlandParser,parseImage Created: 02/Oct/08  Updated: 07/Jan/09

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Major
Reporter: savo Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 107

 Description   

Hi,
I changed the method in subject, because if the tags "width" and "height" are
empty cause an NumberFormatException, follows the change:

protected Image parseImage(Element rssRoot) {
Image image = super.parseImage(rssRoot);
if (image!=null) {
Element eImage = getImage(rssRoot);
Element e = eImage.getChild("width",getRSSNamespace());
//Hlix 2/10/2008
//Bug fix: if tag "width" is empty
if (e!=null && !e.getText().equals(""))

{ image.setWidth(Integer.parseInt(e.getText().trim())); }

e = eImage.getChild("height",getRSSNamespace());
//Hlix 2/10/2008
//Bug fix: if tag "height" is empty
if (e!=null && !e.getText().equals(""))

{ image.setHeight(Integer.parseInt(e.getText().trim())); }

e = eImage.getChild("description",getRSSNamespace());
if (e!=null)

{ image.setDescription(e.getText()); }

}
return image;
}

Note: You can test with this rss feed http://www.lastampa.it/redazione/rss_home.xml

Regards
Savo



 Comments   
Comment by nicklothian [ 07/Jan/09 ]

Will fix using the approach in issue 104

Comment by nicklothian [ 07/Jan/09 ]

Fixed





[ROME-97] Content Module has inadvertent System.out.println call. Created: 22/May/08  Updated: 22/May/08

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: bcollison Assignee: rome-issues
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File issue97_patch.txt    
Issuezilla Id: 97

 Description   

The Content Module (subprojects/modules/content/...) has a System.out.println
call in it that can be annoying

(btw-- adding a logging library would probably be pretty useful for rome, I was
a bit shocked when I found there was absolutely no logging)

patch will be attached.



 Comments   
Comment by bcollison [ 22/May/08 ]

Created an attachment (id=16)
Patch removing the offending System.out.println call





[ROME-96] getAtmosphere() not available in YWeatherFeedModule Created: 27/Mar/08  Updated: 27/Mar/08

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: jramv Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 96

 Description   

I'm trying to use the Rome+YahooWeather API and found that the Atmosphere
infomation is not available from the YWeatherFeedModule. I browsed thru web-CVS
and found that the setter and getter methods for Atmosphere are not
incorporated in YWeatherFeedModule interface but have the code for the same
setters and getters in YWeatherModuleImpl.

For now I'm hacking by typecasting the YWeatherFeedModule to YWeatherModuleImpl
which I shouldn't be doing. Will it be possible to make these modifications and
make an another release?






[ROME-87] SyndFeed should give access to xsl stylesheet in incoming xml so I can run a transform on output Created: 13/Jul/07  Updated: 13/Jul/07

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: garpinc Assignee: rome-issues
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 87

 Description   

SyndFeed should give access to xsl stylesheet in incoming xml so I can run a
transform on output






[ROME-84] [PATCH] add support for EBCDIC encoding Created: 03/Jul/07  Updated: 03/Jul/07

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Major
Reporter: hboutemy Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File rome-84.diff    
Issuezilla Id: 84

 Description   

everything is in the summary



 Comments   
Comment by hboutemy [ 03/Jul/07 ]

Created an attachment (id=13)
EBCDIC support

Comment by hboutemy [ 03/Jul/07 ]

warning: with this patch, some unit tests fail:
_testRawBomInvalid("UTF-16BE-bom","UTF-16BE","UTF-16LE");
_testRawBomInvalid("UTF-16LE-bom","UTF-16LE","UTF-16BE");
_testRawBomInvalid("UTF-16LE-bom","UTF-16LE","UTF-8");
I don't really understand why...





[ROME-72] Feed fetcher need to support HTTP Proxy Created: 26/Apr/07  Updated: 27/Apr/07

Status: Reopened
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: New Feature Priority: Major
Reporter: denverdino Assignee: rome-issues
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 72

 Description   

Feed fetcher need to support the HTTP proxy.
It is better to be consistent with Java Networking Properties.
http.proxyHost
http.proxyPort
http.nonProxyHosts



 Comments   
Comment by nicklothian [ 26/Apr/07 ]

FeedFetcher uses the URLConenction class, which will use the proxy properties
requested below.

Comment by denverdino [ 27/Apr/07 ]

I think the problem is due to the commons-httpclient-3.0.1.jar in the classpath.
It use the HttpClientFeedFetcher. The different fetcher implementation should
keep the similar behaviors. Do you think so?





[ROME-52] mediarss: less verbose handling of bad thumbnail tags Created: 08/Dec/06  Updated: 08/Dec/06

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Major
Reporter: otaylor Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File null-url-attribute-20061208.patch    
Issuezilla Id: 52

 Description   

http://www.woot.com/blog/rss.aspx has tags of the form:

<media:thumbnail xmlns="media">
http://www.woot.com/Images/Sale/Littermaid_LM920_Self-Cleaning_Litterbox838-thumbnail.jpg</media:thumbnail>

This doesn't seem to belegitimate according to the MediaRSS spec - the url
is supposed to be an attribute, not the contents of the element. But logging
an entire backtrace for this is annoying and unnecessary. This patch reduces
the logging to a single line.

(I turned the enclosing catch (Exception e) to a catch (RuntimeException e)
in case there were other problems that it was intended to catch. In my
own code, I'd probably have removed it entirely.)



 Comments   
Comment by otaylor [ 08/Dec/06 ]

Created an attachment (id=8)
Patch reducing logging

Comment by otaylor [ 08/Dec/06 ]

(Changed issue type to "PATCH")





[ROME-51] mediarss: rating tags without scheme Created: 08/Dec/06  Updated: 08/Dec/06

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Major
Reporter: otaylor Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File default-rating-scheme-20061208.patch    
Issuezilla Id: 51

 Description   

I'm not sure if this is the right place to report things for the MediaRSS module,
but I don't see a better place.

According to the MediaRSS spec, the scheme element on the rating tag is optional
and has the default value urn:simple. The attached patch implements this.

(An example feed without the scheme: http://www.defcon.org/defconrss.xml)



 Comments   
Comment by otaylor [ 08/Dec/06 ]

Created an attachment (id=7)
Patch adding default value





[ROME-29] [PATCH] Simple fixes of some small problem code Created: 11/Feb/06  Updated: 11/Feb/06

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Task Priority: Major
Reporter: dbrosius Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File simple_fixes.diff    
Issuezilla Id: 29

 Description   

Fixes for
– implementation of clone()
– better map iterating
– unnecessary toString calls
– making sure streams are closed
– removal of non-shortcircuiting boolean logic
etc.



 Comments   
Comment by dbrosius [ 11/Feb/06 ]

Created an attachment (id=4)
simple cleanup of some simple code problems/improvements





[ROME-23] No 32x32 icons exists for rome Created: 14/Sep/05  Updated: 15/Sep/05

Status: Open
Project: rome
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: javahollic Assignee: rome-issues
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: All


Attachments: GIF File rome32.gif    
Issuezilla Id: 23

 Description   

Needed for eclipse feature Icon

I have polished a resized rome logo to 32x32, will attach if able to.



 Comments   
Comment by javahollic [ 14/Sep/05 ]

Created an attachment (id=3)
32x32 GIF icon (all roads lead to rome ommitted, illegible at 2pixels high!)

Comment by javahollic [ 14/Sep/05 ]

Can I use this logo, or can a 32x32 be prepared ?

Comment by markwoodman [ 14/Sep/05 ]

I'll ask Ozan if he can cook up a 32x32 version for us.

Comment by javahollic [ 14/Sep/05 ]

Um, can it be a transparent ico please, white bg looks bad!

Comment by tucu [ 14/Sep/05 ]

Now that we are wishing mode, could be a one to use as favicon in the rome site?

Comment by markwoodman [ 15/Sep/05 ]

Ozan provided a white background 32x32 version. I put it in our doc repository
here: https://rome.dev.java.net/files/documents/1764/20657/romelogo32x32_white.png

Comment by markwoodman [ 15/Sep/05 ]

Favicons are 16x16... the logo is illegible at that size.





[ROME-157] Fixed locale to parse date Created: 09/Feb/12  Updated: 09/Feb/12

Status: Open
Project: rome
Component/s: None
Affects Version/s: current
Fix Version/s: None

Type: Bug Priority: Major
Reporter: gcouti Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: 1 day
Time Spent: Not Specified
Original Estimate: 1 day
Environment:

Linux/Ubuntu 11.10 and java 1.6


Tags: Locale, Parse, PubDate

 Description   

I'm trying to parse some RSS that are not mine. The pubDate of this is like that <pubDate>09 Fev 2012 14:46</pubDate>.

The person that generated this date used locale BR. I checked Rome code and i see that it fixed to use US to parse dates. It is interesting to use other Locales. It can be passed in rome.properties.






[ROME-154] Problem parsing xml with rome on android Created: 07/Apr/11  Updated: 07/Apr/11

Status: Open
Project: rome
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: mmm286 Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi,

I have rome and I'm trying to parse RSS:
http://www.miguiatv.com/rss/tve1.xml
But when I'm trying to get the Description field:
System.out.println("descripcion es ..." + ent.getDescription());

Eclipse gives me an error:
Could not find class '[Ljava.beans.PropertyDescriptor;', referenced from method com.sun.syndication.feed ....

The AVD gives me a FC.

Could you help me please?
Many thanks and sorry for my english!






[ROME-153] <generator> element is ignored in the rss parser? Created: 25/Mar/11  Updated: 25/Mar/11

Status: Open
Project: rome
Component/s: None
Affects Version/s: current
Fix Version/s: None

Type: Bug Priority: Major
Reporter: sbereda Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: element, generator, ignored, parser, rss

 Description   

I try to parse a rss feed with Rome and read out the <generator> subelement of <channel>. Although the element is defined in the RSS feed, Channel#getGenerator() returns always null. I reviewed some parts of the parser source and it seems that the rss parser does not handle the <generator> element (or do i missed this part?). Please correct this.






[ROME-158] Rome fails to initialize when bundled with an application deployed to Felix/OSGi Created: 15/Sep/13  Updated: 15/Sep/13

Status: Open
Project: rome
Component/s: None
Affects Version/s: current
Fix Version/s: None

Type: Bug Priority: Major
Reporter: jluehe Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The Rome library fails to initialize when bundled with an application deployed to Felix. The failure to initialize manifests itself through Rome's com.sun.syndication.io.impl.PropertiesLoader constructor throwing a NullPointerException when asked to load the "com/sun/syndication/rome.properties" resource, which is also embedded in the (same) Rome JAR file:

Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at
com.sun.syndication.io.impl.PropertiesLoader.<init>(PropertiesLoader.java:74)
at
com.sun.syndication.io.impl.PropertiesLoader.getPropertiesLoader(PropertiesLoader.java:46)
at com.sun.syndication.io.impl.PluginManager.<init>(PluginManager.java:54)
at com.sun.syndication.io.impl.PluginManager.<init>(PluginManager.java:46)
at com.sun.syndication.feed.synd.impl.Converters.<init>(Converters.java:40)
at
com.sun.syndication.feed.synd.SyndFeedImpl.<clinit>(SyndFeedImpl.java:61)
... 23 more

See below for full stack trace.

The current com.sun.syndication.io.impl.PropertiesLoader constructor code attempts to load the requested "com/sun/syndication/rome.properties" resource from the classloader returned by a call to Thread.currentThread().getContextClassLoader().

This just happens to work if the (web) application that integrates ROME is deployed on Tomcat, where the Tomcat container sets the Thread's ContextClassLoader to be the same as the classloader that loaded the (web) application (instance of org.apache.catalina.loader.WebappClassLoader), before dispatching any requests to it on that Thread.

However, this does not work if the application that bundles ROME is deployed to Felix (and most likely other OSGi implementations), where the Thread's context classloader is not explicitly set. In the case of Felix, the classloader returned by Thread.currentThread().getContextClassLoader() is an instance of sun.misc.Launcher$AppClassLoader, which does not have any visibility into any application specific JAR-files (ROME in this case), causing the call to

java.lang.ClassLoader#getResourceAsStream("com/sun/syndication/rome.properties")

to return NULL, which results in the NullPointerException mentioned above, when NULL is passed to java.util.Properties#load.

The proposed fix (see diffs below) replaces the java.lang.Thread#getContextClassLoader() call with com.sun.syndication.io.impl.PropertiesLoader.class.getClassLoader(), which returns the classloader that loaded the
com/sun/syndication/io/impl/PropertiesLoader.class resource (Java class file). This classloader is able to load any resources embedded in the same JAR file as com/sun/syndication/io/impl/PropertiesLoader.class, including "com/sun/syndication/rome.properties".

The proposed fix works with Tomcat, Felix, or any other platform.

The remaining proposed changes in the diffs are of the same nature (replacing Thread.currentThread().getContextClassLoader() with Class#getClassLoader()), and are required because the Rome code caches artifacts such as PropertiesLoader and FeedGenerators in a Map, using the classloader that loaded them as the lookup key.

---------------------------------------------------------
Full stack trace:

[2013/07/09:20:57:18] (BaseExecute.java:224) INFO
com.yahoo.yql.api.execute.BaseExecute: Execute error
java.lang.ExceptionInInitializerError
at com.sun.syndication.io.SyndFeedInput.build(SyndFeedInput.java:149)
at
com.yahoo.yql.execute.java.tables.impl.FeedNormalizerTable.normalize(FeedNormalizerTable.java:99)
at
com.yahoo.yql.execute.java.tables.impl.FeedNormalizerTable.normalizeXmlWithXslLiteralFunction(FeedNormalizerTable.java:601)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
com.yahoo.yql.resources.JavaExecuteMethod.invoke(JavaExecuteMethod.java:36)
at
com.yahoo.yql.execute.java.JavaExecuteMethodInvocation.invoke(JavaExecuteMethodInvocation.java:139)
at com.yahoo.yql.execute.java.JavaExecute.execute(JavaExecute.java:74)
at com.yahoo.yql.api.execute.BaseExecute.execute(BaseExecute.java:140)
at
com.yahoo.yql.table.module.operator.ExecuteFilter.nextItem(ExecuteFilter.java:68)
at com.yahoo.yql.api.model.SourceImpl.next(SourceImpl.java:109)
at com.yahoo.yql.compiler.module.Output.nextItem(Output.java:33)
at com.yahoo.yql.api.model.SourceImpl.next(SourceImpl.java:109)
at com.yahoo.yql.core.query.QueryEngine.executePipe(QueryEngine.java:150)
at
com.yahoo.yql.execute.js.JavascriptQuery$2.call(JavascriptQuery.java:279)
at
com.yahoo.yql.execute.js.JavascriptQuery$2.call(JavascriptQuery.java:219)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at
com.sun.syndication.io.impl.PropertiesLoader.<init>(PropertiesLoader.java:74)
at
com.sun.syndication.io.impl.PropertiesLoader.getPropertiesLoader(PropertiesLoader.java:46)
at com.sun.syndication.io.impl.PluginManager.<init>(PluginManager.java:54)
at com.sun.syndication.io.impl.PluginManager.<init>(PluginManager.java:46)
at com.sun.syndication.feed.synd.impl.Converters.<init>(Converters.java:40)
at
com.sun.syndication.feed.synd.SyndFeedImpl.<clinit>(SyndFeedImpl.java:61)
... 23 more

---------------------------------------------------------
Proposed fix (diffs):

diff -ur com/sun/syndication/io/WireFeedInput.java /Users/jluehe/Desktop/ws/v2/thirdparty/rome/trunk/src/main/java/com/sun/syndication/io/WireFeedInput.java
— com/sun/syndication/io/WireFeedInput.java 2008-12-08 14:49:46.000000000 -0800
+++ /Users/jluehe/Desktop/ws/v2/thirdparty/rome/trunk/src/main/java/com/sun/syndication/io/WireFeedInput.java 2013-07-09 15:37:40.000000000 -0700
@@ -59,10 +59,10 @@
private static FeedParsers getFeedParsers() {
synchronized(WireFeedInput.class) {
FeedParsers parsers = (FeedParsers)

  • clMap.get(Thread.currentThread().getContextClassLoader());
    + clMap.get(WireFeedInput.class.getClassLoader());
    if (parsers == null) { parsers = new FeedParsers(); - clMap.put(Thread.currentThread().getContextClassLoader(), parsers); + clMap.put(WireFeedInput.class.getClassLoader(), parsers); }

    return parsers;
    }
    diff -ur com/sun/syndication/io/WireFeedOutput.java /Users/jluehe/Desktop/ws/v2/thirdparty/rome/trunk/src/main/java/com/sun/syndication/io/WireFeedOutput.java

      • com/sun/syndication/io/WireFeedOutput.java 2009-01-08 08:46:12.000000000 -0800
        +++ /Users/jluehe/Desktop/ws/v2/thirdparty/rome/trunk/src/main/java/com/sun/syndication/io/WireFeedOutput.java 2013-07-09 15:49:06.000000000 -0700
        @@ -48,10 +48,10 @@
        private static FeedGenerators getFeedGenerators() {
        synchronized(WireFeedOutput.class) {
        FeedGenerators generators = (FeedGenerators)
  • clMap.get(Thread.currentThread().getContextClassLoader());
    + clMap.get(WireFeedOutput.class.getClassLoader());
    if (generators == null) { generators = new FeedGenerators(); - clMap.put(Thread.currentThread().getContextClassLoader(), generators); + clMap.put(WireFeedOutput.class.getClassLoader(), generators); }

    return generators;
    }
    diff -ur com/sun/syndication/io/impl/PluginManager.java /Users/jluehe/Desktop/ws/v2/thirdparty/rome/trunk/src/main/java/com/sun/syndication/io/impl/PluginManager.java

      • com/sun/syndication/io/impl/PluginManager.java 2009-01-09 15:53:34.000000000 -0800
        +++ /Users/jluehe/Desktop/ws/v2/thirdparty/rome/trunk/src/main/java/com/sun/syndication/io/impl/PluginManager.java 2013-07-23 10:49:59.000000000 -0700
        @@ -129,7 +129,7 @@
        *
        */
        private Class[] getClasses() throws ClassNotFoundException {
  • ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    + ClassLoader classLoader = PluginManager.class.getClassLoader();
    List classes = new ArrayList();
    boolean useLoadClass = Boolean.valueOf(System.getProperty("rome.pluginmanager.useloadclass", "false")).booleanValue();
    for (int i = 0; i <_propertyValues.length; i++) {
    diff -ur com/sun/syndication/io/impl/PropertiesLoader.java /Users/jluehe/Desktop/ws/v2/thirdparty/rome/trunk/src/main/java/com/sun/syndication/io/impl/PropertiesLoader.java
      • com/sun/syndication/io/impl/PropertiesLoader.java 2007-08-01 02:28:08.000000000 -0700
        +++ /Users/jluehe/Desktop/ws/v2/thirdparty/rome/trunk/src/main/java/com/sun/syndication/io/impl/PropertiesLoader.java 2013-07-23 10:49:59.000000000 -0700
        @@ -40,11 +40,11 @@
        public static PropertiesLoader getPropertiesLoader() {
        synchronized(PropertiesLoader.class) {
        PropertiesLoader loader = (PropertiesLoader)
  • clMap.get(Thread.currentThread().getContextClassLoader());
    + clMap.get(PropertiesLoader.class.getClassLoader());
    if (loader == null) {
    try { loader = new PropertiesLoader(MASTER_PLUGIN_FILE, EXTRA_PLUGIN_FILE); - clMap.put(Thread.currentThread().getContextClassLoader(), loader); + clMap.put(PropertiesLoader.class.getClassLoader(), loader); }

    catch (IOException ex) {
    throw new RuntimeException(ex);
    @@ -66,7 +66,7 @@
    */
    private PropertiesLoader(String masterFileLocation,String extraFileLocation) throws IOException {
    List propertiesList = new ArrayList();

  • ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    + ClassLoader classLoader = PropertiesLoader.class.getClassLoader();

try {
InputStream is = classLoader.getResourceAsStream(masterFileLocation);






[ROME-159] xml:base and xml:lang attribute for the content tag Atom 1.0 Created: 05/Dec/13  Updated: 24/Feb/14

Status: Open
Project: rome
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: setty Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: atom10, base, lang, parser, xmlnamespace

 Description   

Right now using the latest version of Rome Atom & RSS library one can not be able to retrieve the xml:base and xml:lang attributes set on the content tag for Atom 1.0. From the Atom 1.0 RFC where ever the xml:base and xml:lang attributes can be specified those should be able to retrieve through the API.



 Comments   
Comment by setty [ 24/Feb/14 ]

Seems like there is no activity on the reported issue. Is there any way i can contribute to this project to fix this issue myself ?





[ROME-156] rome-propono POM in Maven Central needs fixes Created: 26/Jun/11  Updated: 26/Jun/11

Status: Open
Project: rome
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: greg.pendlebury Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Heyo, just thought I'd let you guys know that the POM released on Maven Central: http://search.maven.org/remotecontent?filepath=net/java/dev/rome/rome-propono/1.0.0/rome-propono-1.0.0.pom fails when used as a dependency in isolation.

I noticed that you had commented out the repository for oauth and I had to add that into my own project before propono would resolve along with all dependencies. It appears that there are some oauth artifacts available via Maven Central, but not the versions listed as your dependencies.

Ta,
Greg






Generated at Sat Sep 05 04:36:36 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.