X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=source%2Fmir%2Fproducer%2FRSSProducerNode.java;h=d61c96ef2495672ab811bbfef537a0adb49323f0;hb=29da699109ce8842d02b60abcdb0dfdc4aa4f0db;hp=6db80886c0e12a1757ee20607aafb704d15d9215;hpb=d7429fe1376f25d0c4420c35c69dc9edd651ab25;p=mir.git diff --git a/source/mir/producer/RSSProducerNode.java b/source/mir/producer/RSSProducerNode.java index 6db80886..d61c96ef 100755 --- a/source/mir/producer/RSSProducerNode.java +++ b/source/mir/producer/RSSProducerNode.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002 The Mir-coders group + * Copyright (C) 2001, 2002 The Mir-coders group * * This file is part of Mir. * @@ -18,46 +18,55 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * In addition, as a special exception, The Mir-coders gives permission to link - * the code of this program with the com.oreilly.servlet library, any library - * licensed under the Apache Software License, The Sun (tm) Java Advanced - * Imaging library (JAI), The Sun JIMI library (or with modified versions of - * the above that use the same license as the above), and distribute linked - * combinations including the two. You must obey the GNU General Public - * License in all respects for all of the code used other than the above - * mentioned libraries. If you modify this file, you may extend this exception - * to your version of the file, but you are not obligated to do so. If you do - * not wish to do so, delete this exception statement from your version. + * the code of this program with any library licensed under the Apache Software License, + * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library + * (or with modified versions of the above that use the same license as the above), + * and distribute linked combinations including the two. You must obey the + * GNU General Public License in all respects for all of the code used other than + * the above mentioned libraries. If you modify this file, you may extend this + * exception to your version of the file, but you are not obligated to do so. + * If you do not wish to do so, delete this exception statement from your version. */ - package mir.producer; import java.util.Map; import mir.log.LoggerWrapper; +import mir.rss.RSS091Reader; import mir.rss.RSSData; import mir.rss.RSSReader; -import mir.rss.RSSToMapConverter; -import mir.util.ParameterExpander; import mir.util.ExceptionFunctions; +import mir.util.ParameterExpander; public class RSSProducerNode implements ProducerNode { private String key; private String url; + private String version; - public RSSProducerNode(String aKey, String anURL) { + public RSSProducerNode(String aKey, String anURL, String aVersion) { key = aKey; url = anURL; + version = aVersion; } public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure { try { + RSSData rssData = null; String expandedKey = ParameterExpander.expandExpression( aValueMap, key ); String expandedUrl = ParameterExpander.expandExpression( aValueMap, url ); + String expandedVersion = ParameterExpander.expandExpression( aValueMap, version ); ParameterExpander.setValueForKey(aValueMap, expandedKey, null); - RSSReader reader = new RSSReader(); - RSSData rssData = reader.parseUrl(expandedUrl); - ParameterExpander.setValueForKey(aValueMap, expandedKey, RSSToMapConverter.convertRSSData(rssData)); + + if (version.equals("1.0")) { + RSSReader reader = new RSSReader(); + rssData = reader.parseUrl(expandedUrl); + } + else if (version.equals("0.91")) { + RSS091Reader reader = new RSS091Reader(); + rssData = reader.parseUrl(expandedUrl); + } + ParameterExpander.setValueForKey(aValueMap, expandedKey, rssData); } catch (Throwable t) { Throwable s = ExceptionFunctions.traceCauseException(t);