projects
/
mir.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rebuilding head
[mir.git]
/
source
/
mir
/
producer
/
RSSProducerNode.java
diff --git
a/source/mir/producer/RSSProducerNode.java
b/source/mir/producer/RSSProducerNode.java
index
6dae7c6
..
9d62022
100755
(executable)
--- a/
source/mir/producer/RSSProducerNode.java
+++ b/
source/mir/producer/RSSProducerNode.java
@@
-32,8
+32,9
@@
package mir.producer;
import java.util.Map;
import mir.log.LoggerWrapper;
import java.util.Map;
import mir.log.LoggerWrapper;
+import mir.rss.RSS091Reader;
import mir.rss.RSSData;
import mir.rss.RSSData;
-import mir.rss.
*
;
+import mir.rss.
RSSReader
;
import mir.util.ExceptionFunctions;
import mir.util.ParameterExpander;
import mir.util.ExceptionFunctions;
import mir.util.ParameterExpander;
@@
-41,11
+42,17
@@
public class RSSProducerNode implements ProducerNode {
private String key;
private String url;
private String version;
private String key;
private String url;
private String version;
+ private String encoding;
- public RSSProducerNode(String aKey, String anURL, String aVersion) {
+ public RSSProducerNode(String aKey, String aURL, String aVersion) {
+ this (aKey, aURL, aVersion, null);
+ }
+
+ public RSSProducerNode(String aKey, String aURL, String aVersion, String anEncoding) {
key = aKey;
key = aKey;
- url = a
n
URL;
+ url = aURL;
version = aVersion;
version = aVersion;
+ encoding = anEncoding;
}
public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure {
}
public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure {
@@
-54,16
+61,30
@@
public class RSSProducerNode implements ProducerNode {
String expandedKey = ParameterExpander.expandExpression( aValueMap, key );
String expandedUrl = ParameterExpander.expandExpression( aValueMap, url );
String expandedVersion = ParameterExpander.expandExpression( aValueMap, version );
String expandedKey = ParameterExpander.expandExpression( aValueMap, key );
String expandedUrl = ParameterExpander.expandExpression( aValueMap, url );
String expandedVersion = ParameterExpander.expandExpression( aValueMap, version );
+ String expandedEncoding = null;
+ if (encoding!=null) {
+ expandedEncoding = ParameterExpander.expandExpression( aValueMap, encoding );
+ }
ParameterExpander.setValueForKey(aValueMap, expandedKey, null);
ParameterExpander.setValueForKey(aValueMap, expandedKey, null);
- if (
v
ersion.equals("1.0")) {
+ if (
expandedV
ersion.equals("1.0")) {
RSSReader reader = new RSSReader();
RSSReader reader = new RSSReader();
- rssData = reader.parseUrl(expandedUrl);
+ if (expandedEncoding!=null) {
+ rssData = reader.parseUrl(expandedUrl, expandedEncoding);
+ }
+ else {
+ rssData = reader.parseUrl(expandedUrl);
+ }
}
}
- else if (
v
ersion.equals("0.91")) {
+ else if (
expandedV
ersion.equals("0.91")) {
RSS091Reader reader = new RSS091Reader();
RSS091Reader reader = new RSS091Reader();
- rssData = reader.parseUrl(expandedUrl);
+ if (expandedEncoding!=null) {
+ rssData = reader.parseUrl(expandedUrl, expandedEncoding);
+ }
+ else {
+ rssData = reader.parseUrl(expandedUrl);
+ }
}
ParameterExpander.setValueForKey(aValueMap, expandedKey, rssData);
}
}
ParameterExpander.setValueForKey(aValueMap, expandedKey, rssData);
}