import java.util.List;
import java.util.Map;
import java.util.Vector;
-import mir.util.xml.*;
+import mir.util.HTTPClientHelper;
+import mir.util.xml.*;
import mir.util.xml.XMLParserEngine;
/**
}
}
- public RSSData parseUrl(String anUrl) throws RSSExc, RSSFailure {
+ public RSSData parseInputStream(InputStream aStream, String anEncoding) throws RSSExc, RSSFailure {
try {
- InputStream inputStream = (InputStream) new URL(anUrl).getContent(new Class[] {InputStream.class});
+ RSSData result = new RSSData();
+ XMLParserEngine.getInstance().parse("html", aStream, anEncoding, new RootSectionHandler(result));
+ return result;
+ }
+ catch (Throwable t) {
+ throw new RSSFailure(t);
+ }
+ }
+
+ public RSSData parseUrl(String anUrl) throws RSSExc, RSSFailure {
+ try {
+ HTTPClientHelper httpClientHelper = new HTTPClientHelper();
+ InputStream inputStream = httpClientHelper.getUrl(anUrl);
+
if (inputStream==null)
throw new RSSExc("RSSChannel.parseUrl: Can't get url content");
- return parseInputStream(inputStream);
+ RSSData theRSSData = parseInputStream(inputStream);
+ httpClientHelper.releaseHTTPConnection();
+ return theRSSData;
+
+ }
+ catch (Throwable t) {
+ throw new RSSFailure(t);
+ }
+ }
+
+ public RSSData parseUrl(String anUrl, String anEncoding) throws RSSExc, RSSFailure {
+ try {
+ HTTPClientHelper httpClientHelper = new HTTPClientHelper();
+ InputStream inputStream = httpClientHelper.getUrl(anUrl);
+
+ if (inputStream==null)
+ throw new RSSExc("RSSChannel.parseUrl: Can't get url content");
+
+ RSSData theRSSData = parseInputStream(inputStream, anEncoding);
+ httpClientHelper.releaseHTTPConnection();
+ return theRSSData;
}
+
catch (Throwable t) {
throw new RSSFailure(t);
}
public mir.util.xml.SectionHandler startElement(mir.util.xml.XMLName aTag, Map anAttributes) throws XMLParserExc {
String tag = aTag.getLocalName();
- System.out.println(tag);
if (mappedItemProperties.containsKey(tag)) {
currentTag=(String) mappedItemProperties.get(tag);