Bundle tool added
[mir.git] / source / mir / producer / RSSProducerNode.java
index fc1c442..c3d17e7 100755 (executable)
@@ -1,33 +1,36 @@
-package mir.producer;
-
+package mir.producer;\r
+\r
 import java.util.Map;\r
 \r
 import mir.log.LoggerWrapper;\r
 import mir.rss.RSSData;\r
 import mir.rss.RSSReader;\r
 import mir.rss.RSSToMapConverter;\r
-import mir.util.ParameterExpander;
-
-public class RSSProducerNode implements ProducerNode {
-  private String key;
-  private String url;
-
-  public RSSProducerNode(String aKey, String anURL) {
-    key = aKey;
-    url = anURL;
-  }
-
-  public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure {
-    try {
-      String expandedKey = ParameterExpander.expandExpression( aValueMap, key );
-      String expandedUrl = ParameterExpander.expandExpression( aValueMap, url );
-
-      RSSReader reader = new RSSReader();
-      RSSData rssData = reader.parseUrl(url);
-      ParameterExpander.setValueForKey(aValueMap, expandedKey, RSSToMapConverter.convertRSSData(rssData));
-    }
-    catch (Throwable t) {
-      aLogger.error("Error while processing RSS data: " + t.toString());
-    }
-  };
+import mir.util.ParameterExpander;\r
+import mir.util.ExceptionFunctions;\r
+\r
+public class RSSProducerNode implements ProducerNode {\r
+  private String key;\r
+  private String url;\r
+\r
+  public RSSProducerNode(String aKey, String anURL) {\r
+    key = aKey;\r
+    url = anURL;\r
+  }\r
+\r
+  public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure {\r
+    try {\r
+      String expandedKey = ParameterExpander.expandExpression( aValueMap, key );\r
+      String expandedUrl = ParameterExpander.expandExpression( aValueMap, url );\r
+\r
+      ParameterExpander.setValueForKey(aValueMap, expandedKey, null);\r
+      RSSReader reader = new RSSReader();\r
+      RSSData rssData = reader.parseUrl(expandedUrl);\r
+      ParameterExpander.setValueForKey(aValueMap, expandedKey, RSSToMapConverter.convertRSSData(rssData));\r
+    }\r
+    catch (Throwable t) {\r
+      Throwable s = ExceptionFunctions.traceCauseException(t);\r
+      aLogger.error("Error while processing RSS data: " + s.getClass().getName()+","+ s.getMessage());\r
+    }\r
+  };\r
 }
\ No newline at end of file