Author: jnioche
Date: Wed May 4 15:20:00 2011
New Revision: 1099483
URL: http://svn.apache.org/viewvc?rev=1099483&view=rev
Log:
NUTCH-888 : Remove parse-rss
Added:
nutch/branches/branch-1.3/src/plugin/parse-tika/sample/rsstest.rss
nutch/branches/branch-1.3/src/plugin/parse-tika/src/test/org/apache/nutch/tika/TestFeedParser.java
Removed:
nutch/branches/branch-1.3/src/plugin/parse-rss/
Modified:
nutch/branches/branch-1.3/CHANGES.txt
nutch/branches/branch-1.3/conf/parse-plugins.xml
nutch/branches/branch-1.3/src/plugin/build.xml
nutch/branches/branch-1.3/src/plugin/parse-tika/build.xml
Modified: nutch/branches/branch-1.3/CHANGES.txt
URL:
http://svn.apache.org/viewvc/nutch/branches/branch-1.3/CHANGES.txt?rev=1099483&r1=1099482&r2=1099483&view=diff
==============================================================================
--- nutch/branches/branch-1.3/CHANGES.txt (original)
+++ nutch/branches/branch-1.3/CHANGES.txt Wed May 4 15:20:00 2011
@@ -2,6 +2,8 @@ Nutch Change Log
Release 1.3 - 4/21/2011
+* NUTCH-888 Remove parse-rss and add tests for rss to parse-tika (jnioche)
+
* NUTCH-991 SolrDedup must issue a commit (markus)
* NUTCH 986 SolrDedup fails due to date incorrect format (markus)
Modified: nutch/branches/branch-1.3/conf/parse-plugins.xml
URL:
http://svn.apache.org/viewvc/nutch/branches/branch-1.3/conf/parse-plugins.xml?rev=1099483&r1=1099482&r2=1099483&view=diff
==============================================================================
--- nutch/branches/branch-1.3/conf/parse-plugins.xml (original)
+++ nutch/branches/branch-1.3/conf/parse-plugins.xml Wed May 4 15:20:00 2011
@@ -27,9 +27,9 @@
<mimeType name="*">
<plugin id="parse-tika" />
</mimeType>
-
+
<mimeType name="application/rss+xml">
- <plugin id="parse-rss" />
+ <plugin id="parse-tika" />
<plugin id="feed" />
</mimeType>
@@ -65,7 +65,6 @@
<mimeType name="text/xml">
<plugin id="parse-tika" />
- <plugin id="parse-rss" />
<plugin id="feed" />
</mimeType>
@@ -88,8 +87,6 @@
<alias name="parse-html"
extension-id="org.apache.nutch.parse.html.HtmlParser" />
<alias name="parse-js" extension-id="JSParser" />
- <alias name="parse-rss"
- extension-id="org.apache.nutch.parse.rss.RSSParser" />
<alias name="feed"
extension-id="org.apache.nutch.parse.feed.FeedParser" />
<alias name="parse-swf"
Modified: nutch/branches/branch-1.3/src/plugin/build.xml
URL:
http://svn.apache.org/viewvc/nutch/branches/branch-1.3/src/plugin/build.xml?rev=1099483&r1=1099482&r2=1099483&view=diff
==============================================================================
--- nutch/branches/branch-1.3/src/plugin/build.xml (original)
+++ nutch/branches/branch-1.3/src/plugin/build.xml Wed May 4 15:20:00 2011
@@ -45,7 +45,6 @@
<ant dir="parse-ext" target="deploy"/>
<ant dir="parse-js" target="deploy"/>
<ant dir="parse-html" target="deploy"/>
- <ant dir="parse-rss" target="deploy"/>
<ant dir="parse-swf" target="deploy"/>
<ant dir="parse-tika" target="deploy"/>
<ant dir="parse-zip" target="deploy"/>
@@ -77,7 +76,6 @@
<ant dir="protocol-file" target="test"/>
<ant dir="protocol-httpclient" target="test"/>
<!--ant dir="parse-ext" target="test"/-->
- <ant dir="parse-rss" target="test"/>
<ant dir="feed" target="test"/>
<ant dir="parse-html" target="test"/>
<ant dir="parse-swf" target="test"/>
@@ -119,7 +117,6 @@
<ant dir="parse-ext" target="clean"/>
<ant dir="parse-js" target="clean"/>
<ant dir="parse-html" target="clean"/>
- <ant dir="parse-rss" target="clean"/>
<ant dir="parse-swf" target="clean"/>
<ant dir="parse-tika" target="clean"/>
<ant dir="parse-zip" target="clean"/>
Modified: nutch/branches/branch-1.3/src/plugin/parse-tika/build.xml
URL:
http://svn.apache.org/viewvc/nutch/branches/branch-1.3/src/plugin/parse-tika/build.xml?rev=1099483&r1=1099482&r2=1099483&view=diff
==============================================================================
--- nutch/branches/branch-1.3/src/plugin/parse-tika/build.xml (original)
+++ nutch/branches/branch-1.3/src/plugin/parse-tika/build.xml Wed May 4
15:20:00 2011
@@ -29,6 +29,7 @@
<mkdir dir="${build.test}/data"/>
<copy todir="${build.test}/data">
<fileset dir="sample">
+ <include name="*.rss"/>
<include name="*.rtf"/>
<include name="*.pdf"/>
<include name="ootest.*"/>
Added: nutch/branches/branch-1.3/src/plugin/parse-tika/sample/rsstest.rss
URL:
http://svn.apache.org/viewvc/nutch/branches/branch-1.3/src/plugin/parse-tika/sample/rsstest.rss?rev=1099483&view=auto
==============================================================================
--- nutch/branches/branch-1.3/src/plugin/parse-tika/sample/rsstest.rss (added)
+++ nutch/branches/branch-1.3/src/plugin/parse-tika/sample/rsstest.rss Wed May
4 15:20:00 2011
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<rss version="0.91">
+ <channel>
+ <title>TestChannel</title>
+ <link>http://test.channel.com/</link>
+ <description>Sample RSS File for Junit test</description>
+ <language>en-us</language>
+
+ <item>
+ <title>Home Page of Chris Mattmann</title>
+ <link>http://www-scf.usc.edu/~mattmann/</link>
+ <description>Chris Mattmann's home page</description>
+ </item>
+
+ <item>
+ <title>Awesome Open Source Search Engine</title>
+ <link>http://www.nutch.org/</link>
+ <description>Yup, that's what it is</description>
+ </item>
+ </channel>
+</rss>
Added:
nutch/branches/branch-1.3/src/plugin/parse-tika/src/test/org/apache/nutch/tika/TestFeedParser.java
URL:
http://svn.apache.org/viewvc/nutch/branches/branch-1.3/src/plugin/parse-tika/src/test/org/apache/nutch/tika/TestFeedParser.java?rev=1099483&view=auto
==============================================================================
---
nutch/branches/branch-1.3/src/plugin/parse-tika/src/test/org/apache/nutch/tika/TestFeedParser.java
(added)
+++
nutch/branches/branch-1.3/src/plugin/parse-tika/src/test/org/apache/nutch/tika/TestFeedParser.java
Wed May 4 15:20:00 2011
@@ -0,0 +1,130 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.nutch.tika;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.io.Text;
+import org.apache.nutch.crawl.CrawlDatum;
+import org.apache.nutch.parse.Outlink;
+import org.apache.nutch.parse.Parse;
+import org.apache.nutch.parse.ParseData;
+import org.apache.nutch.parse.ParseException;
+import org.apache.nutch.parse.ParseUtil;
+import org.apache.nutch.parse.tika.TikaParser;
+import org.apache.nutch.protocol.Content;
+import org.apache.nutch.protocol.Protocol;
+import org.apache.nutch.protocol.ProtocolException;
+import org.apache.nutch.protocol.ProtocolFactory;
+import org.apache.nutch.util.NutchConfiguration;
+
+/**
+ *
+ * @author mattmann / jnioche
+ *
+ * Test Suite for the RSS feeds with the {@link TikaParser}.
+ *
+ */
+public class TestFeedParser extends TestCase {
+
+ private String fileSeparator = System.getProperty("file.separator");
+
+ // This system property is defined in ./src/plugin/build-plugin.xml
+ private String sampleDir = System.getProperty("test.data", ".");
+
+ private String[] sampleFiles = { "rsstest.rss" };
+
+ public static final Log LOG = LogFactory.getLog(TestFeedParser.class
+ .getName());
+
+ /**
+ * Default Constructor.
+ *
+ * @param name
+ * The name of this {@link TestCase}.
+ */
+ public TestFeedParser(String name) {
+ super(name);
+ }
+
+ /**
+ * <p>
+ * The test method: tests out the following 2 asserts:
+ * </p>
+ *
+ * <ul>
+ * <li>There are 3 outlinks read from the sample rss file</li>
+ * <li>The 3 outlinks read are in fact the correct outlinks from the
sample
+ * file</li>
+ * </ul>
+ */
+ public void testIt() throws ProtocolException, ParseException {
+ String urlString;
+ Protocol protocol;
+ Content content;
+ Parse parse;
+
+ Configuration conf = NutchConfiguration.create();
+ for (int i = 0; i < sampleFiles.length; i++) {
+ urlString = "file:" + sampleDir + fileSeparator +
sampleFiles[i];
+
+ protocol = new
ProtocolFactory(conf).getProtocol(urlString);
+ content = protocol.getProtocolOutput(new
Text(urlString),
+ new CrawlDatum()).getContent();
+ parse = new
ParseUtil(conf).parseByExtensionId("parse-tika",
+ content).get(content.getUrl());
+
+ // check that there are 2 outlinks:
+ // unlike the original parse-rss
+ // tika ignores the URL and description of the channel
+
+ // http://test.channel.com
+ // http://www-scf.usc.edu/~mattmann/
+ // http://www.nutch.org
+
+ ParseData theParseData = parse.getData();
+
+ Outlink[] theOutlinks = theParseData.getOutlinks();
+
+ assertTrue("There aren't 2 outlinks read!",
+ theOutlinks.length == 2);
+
+ // now check to make sure that those are the two
outlinks
+ boolean hasLink1 = false, hasLink2 = false;
+
+ for (int j = 0; j < theOutlinks.length; j++) {
+ if (theOutlinks[j].getToUrl().equals(
+
"http://www-scf.usc.edu/~mattmann/")) {
+ hasLink1 = true;
+ }
+
+ if
(theOutlinks[j].getToUrl().equals("http://www.nutch.org/")) {
+ hasLink2 = true;
+ }
+ }
+
+ if (!hasLink1 || !hasLink2) {
+ fail("Outlinks read from sample rss file are
not correct!");
+ }
+ }
+ }
+
+}