- * It assumes the given SyndFeedImpl has no properties set. - *
- *
- * @param feed real feed to copy/convert.
- * @param syndFeed the SyndFeedImpl that will contain the copied/converted values of the real feed.
- */
- @Override
- public void copyInto(final WireFeed feed, final SyndFeed syndFeed) {
- final Opml opml = (Opml) feed;
- syndFeed.setTitle(opml.getTitle());
- addOwner(opml, syndFeed);
- syndFeed.setPublishedDate(opml.getModified() != null ? opml.getModified() : opml.getCreated());
- syndFeed.setFeedType(opml.getFeedType());
- syndFeed.setModules(opml.getModules());
- syndFeed.setFeedType(getType());
-
- createEntries(new Stack
- *
- * @param syndFeed SyndFeedImpl to copy/convert value from.
- * @return a real feed with copied/converted values of the SyndFeedImpl.
- */
- @Override
- public WireFeed createRealFeed(final SyndFeed syndFeed) {
-
- final List
+ * It assumes the given SyndFeedImpl has no properties set.
+ *
+ *
+ * @param feed real feed to copy/convert.
+ * @param syndFeed the SyndFeedImpl that will contain the copied/converted values of the real feed.
+ */
+ @Override
+ public void copyInto(final WireFeed feed, final SyndFeed syndFeed) {
+ final Opml opml = (Opml) feed;
+ syndFeed.setTitle(opml.getTitle());
+ addOwner(opml, syndFeed);
+ syndFeed.setPublishedDate(opml.getModified() != null ? opml.getModified() : opml.getCreated());
+ syndFeed.setFeedType(opml.getFeedType());
+ syndFeed.setModules(opml.getModules());
+ syndFeed.setFeedType(getType());
+
+ createEntries(new Stack
+ *
+ * @param syndFeed SyndFeedImpl to copy/convert value from.
+ * @return a real feed with copied/converted values of the SyndFeedImpl.
+ */
+ @Override
+ public WireFeed createRealFeed(final SyndFeed syndFeed) {
+
+ final List
- *
- * @return the real feed type.
- * @see WireFeed for details on the format of this string.
- *
- */
- @Override
- public String getType() {
- return "opml_2.0";
- }
-
- /**
- * Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl.
- *
- * It assumes the given SyndFeedImpl has no properties set.
- *
- *
- * @param feed real feed to copy/convert.
- * @param syndFeed the SyndFeedImpl that will contain the copied/converted values of the real feed.
- */
- @Override
- public void copyInto(final WireFeed feed, final SyndFeed syndFeed) {
- super.copyInto(feed, syndFeed);
- }
-
- /**
- * Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl.
- *
- *
- * @param syndFeed SyndFeedImpl to copy/convert value from.
- * @return a real feed with copied/converted values of the SyndFeedImpl.
- */
- @Override
- public WireFeed createRealFeed(final SyndFeed syndFeed) {
- return super.createRealFeed(syndFeed);
- }
-
-}
+package com.rometools.opml.feed.synd.impl;
+
+import com.rometools.rome.feed.WireFeed;
+import com.rometools.rome.feed.synd.SyndFeed;
+
+/**
+ * @author cooper
+ */
+public class ConverterForOPML20 extends ConverterForOPML10 {
+
+ /**
+ * Returns the type (version) of the real feed this converter handles.
+ *
+ *
+ * @return the real feed type.
+ * @see WireFeed for details on the format of this string.
+ *
+ */
+ @Override
+ public String getType() {
+ return "opml_2.0";
+ }
+
+ /**
+ * Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl.
+ *
+ * It assumes the given SyndFeedImpl has no properties set.
+ *
+ *
+ * @param feed real feed to copy/convert.
+ * @param syndFeed the SyndFeedImpl that will contain the copied/converted values of the real feed.
+ */
+ @Override
+ public void copyInto(final WireFeed feed, final SyndFeed syndFeed) {
+ super.copyInto(feed, syndFeed);
+ }
+
+ /**
+ * Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl.
+ *
+ *
+ * @param syndFeed SyndFeedImpl to copy/convert value from.
+ * @return a real feed with copied/converted values of the SyndFeedImpl.
+ */
+ @Override
+ public WireFeed createRealFeed(final SyndFeed syndFeed) {
+ return super.createRealFeed(syndFeed);
+ }
+
+}
diff --git a/src/main/java/com/rometools/opml/feed/synd/impl/TreeCategoryImpl.java b/rome-opml/src/main/java/com/rometools/opml/feed/synd/impl/TreeCategoryImpl.java
similarity index 96%
rename from src/main/java/com/rometools/opml/feed/synd/impl/TreeCategoryImpl.java
rename to rome-opml/src/main/java/com/rometools/opml/feed/synd/impl/TreeCategoryImpl.java
index b338798..54e3b95 100644
--- a/src/main/java/com/rometools/opml/feed/synd/impl/TreeCategoryImpl.java
+++ b/rome-opml/src/main/java/com/rometools/opml/feed/synd/impl/TreeCategoryImpl.java
@@ -1,23 +1,23 @@
-package com.rometools.opml.feed.synd.impl;
-
-import com.rometools.rome.feed.synd.SyndCategory;
-import com.rometools.rome.feed.synd.SyndCategoryImpl;
-
-/**
- * @author cooper
- */
-public class TreeCategoryImpl extends SyndCategoryImpl {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public boolean equals(final Object o) {
- final SyndCategory c = (SyndCategory) o;
- if (c.getTaxonomyUri() != null && c.getTaxonomyUri().equals(getTaxonomyUri())) {
- return true;
- } else {
- return false;
- }
- }
-
-}
+package com.rometools.opml.feed.synd.impl;
+
+import com.rometools.rome.feed.synd.SyndCategory;
+import com.rometools.rome.feed.synd.SyndCategoryImpl;
+
+/**
+ * @author cooper
+ */
+public class TreeCategoryImpl extends SyndCategoryImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean equals(final Object o) {
+ final SyndCategory c = (SyndCategory) o;
+ if (c.getTaxonomyUri() != null && c.getTaxonomyUri().equals(getTaxonomyUri())) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+}
diff --git a/src/main/java/com/rometools/opml/feed/synd/impl/package.html b/rome-opml/src/main/java/com/rometools/opml/feed/synd/impl/package.html
similarity index 100%
rename from src/main/java/com/rometools/opml/feed/synd/impl/package.html
rename to rome-opml/src/main/java/com/rometools/opml/feed/synd/impl/package.html
diff --git a/src/main/java/com/rometools/opml/io/impl/OPML10Generator.java b/rome-opml/src/main/java/com/rometools/opml/io/impl/OPML10Generator.java
similarity index 100%
rename from src/main/java/com/rometools/opml/io/impl/OPML10Generator.java
rename to rome-opml/src/main/java/com/rometools/opml/io/impl/OPML10Generator.java
diff --git a/src/main/java/com/rometools/opml/io/impl/OPML10Parser.java b/rome-opml/src/main/java/com/rometools/opml/io/impl/OPML10Parser.java
similarity index 100%
rename from src/main/java/com/rometools/opml/io/impl/OPML10Parser.java
rename to rome-opml/src/main/java/com/rometools/opml/io/impl/OPML10Parser.java
diff --git a/src/main/java/com/rometools/opml/io/impl/OPML20Generator.java b/rome-opml/src/main/java/com/rometools/opml/io/impl/OPML20Generator.java
similarity index 100%
rename from src/main/java/com/rometools/opml/io/impl/OPML20Generator.java
rename to rome-opml/src/main/java/com/rometools/opml/io/impl/OPML20Generator.java
diff --git a/src/main/java/com/rometools/opml/io/impl/OPML20Parser.java b/rome-opml/src/main/java/com/rometools/opml/io/impl/OPML20Parser.java
similarity index 100%
rename from src/main/java/com/rometools/opml/io/impl/OPML20Parser.java
rename to rome-opml/src/main/java/com/rometools/opml/io/impl/OPML20Parser.java
diff --git a/src/main/java/com/rometools/opml/io/impl/package.html b/rome-opml/src/main/java/com/rometools/opml/io/impl/package.html
similarity index 100%
rename from src/main/java/com/rometools/opml/io/impl/package.html
rename to rome-opml/src/main/java/com/rometools/opml/io/impl/package.html
diff --git a/src/main/resources/rome.properties b/rome-opml/src/main/resources/rome.properties
similarity index 100%
rename from src/main/resources/rome.properties
rename to rome-opml/src/main/resources/rome.properties
diff --git a/src/site/apt/index.apt b/rome-opml/src/site/apt/index.apt
similarity index 100%
rename from src/site/apt/index.apt
rename to rome-opml/src/site/apt/index.apt
diff --git a/src/site/resources/.nojekyll b/rome-opml/src/site/resources/.nojekyll
similarity index 100%
rename from src/site/resources/.nojekyll
rename to rome-opml/src/site/resources/.nojekyll
diff --git a/src/site/resources/css/site.css b/rome-opml/src/site/resources/css/site.css
similarity index 100%
rename from src/site/resources/css/site.css
rename to rome-opml/src/site/resources/css/site.css
diff --git a/src/site/resources/images/romelogo.png b/rome-opml/src/site/resources/images/romelogo.png
similarity index 100%
rename from src/site/resources/images/romelogo.png
rename to rome-opml/src/site/resources/images/romelogo.png
diff --git a/src/site/site.xml b/rome-opml/src/site/site.xml
similarity index 100%
rename from src/site/site.xml
rename to rome-opml/src/site/site.xml
diff --git a/src/test/java/com/rometools/opml/FeedOpsTest.java b/rome-opml/src/test/java/com/rometools/opml/FeedOpsTest.java
similarity index 100%
rename from src/test/java/com/rometools/opml/FeedOpsTest.java
rename to rome-opml/src/test/java/com/rometools/opml/FeedOpsTest.java
diff --git a/src/test/java/com/rometools/opml/FeedTest.java b/rome-opml/src/test/java/com/rometools/opml/FeedTest.java
similarity index 100%
rename from src/test/java/com/rometools/opml/FeedTest.java
rename to rome-opml/src/test/java/com/rometools/opml/FeedTest.java
diff --git a/src/test/java/com/rometools/opml/SyndFeedTest.java b/rome-opml/src/test/java/com/rometools/opml/SyndFeedTest.java
similarity index 100%
rename from src/test/java/com/rometools/opml/SyndFeedTest.java
rename to rome-opml/src/test/java/com/rometools/opml/SyndFeedTest.java
diff --git a/src/test/java/com/rometools/opml/TestOpsOPML10.java b/rome-opml/src/test/java/com/rometools/opml/TestOpsOPML10.java
similarity index 100%
rename from src/test/java/com/rometools/opml/TestOpsOPML10.java
rename to rome-opml/src/test/java/com/rometools/opml/TestOpsOPML10.java
diff --git a/src/test/java/com/rometools/opml/TestOpsOPML10links.java b/rome-opml/src/test/java/com/rometools/opml/TestOpsOPML10links.java
similarity index 100%
rename from src/test/java/com/rometools/opml/TestOpsOPML10links.java
rename to rome-opml/src/test/java/com/rometools/opml/TestOpsOPML10links.java
diff --git a/src/test/java/com/rometools/opml/TestOpsOPML20.java b/rome-opml/src/test/java/com/rometools/opml/TestOpsOPML20.java
similarity index 100%
rename from src/test/java/com/rometools/opml/TestOpsOPML20.java
rename to rome-opml/src/test/java/com/rometools/opml/TestOpsOPML20.java
diff --git a/src/test/java/com/rometools/opml/TestXmlFixerReader.java b/rome-opml/src/test/java/com/rometools/opml/TestXmlFixerReader.java
similarity index 100%
rename from src/test/java/com/rometools/opml/TestXmlFixerReader.java
rename to rome-opml/src/test/java/com/rometools/opml/TestXmlFixerReader.java
diff --git a/src/test/java/com/rometools/opml/TestXmlReader.java b/rome-opml/src/test/java/com/rometools/opml/TestXmlReader.java
similarity index 100%
rename from src/test/java/com/rometools/opml/TestXmlReader.java
rename to rome-opml/src/test/java/com/rometools/opml/TestXmlReader.java
diff --git a/src/test/java/com/rometools/opml/io/impl/OPML20GeneratorTest.java b/rome-opml/src/test/java/com/rometools/opml/io/impl/OPML20GeneratorTest.java
similarity index 96%
rename from src/test/java/com/rometools/opml/io/impl/OPML20GeneratorTest.java
rename to rome-opml/src/test/java/com/rometools/opml/io/impl/OPML20GeneratorTest.java
index 28dd3d1..b69f085 100644
--- a/src/test/java/com/rometools/opml/io/impl/OPML20GeneratorTest.java
+++ b/rome-opml/src/test/java/com/rometools/opml/io/impl/OPML20GeneratorTest.java
@@ -1,73 +1,73 @@
-package com.rometools.opml.io.impl;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
-
-import java.util.Arrays;
-
-import org.custommonkey.xmlunit.XMLUnit;
-import org.junit.Test;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-
-import com.rometools.opml.feed.opml.Opml;
-import com.rometools.opml.feed.opml.Outline;
-import com.rometools.rome.io.WireFeedOutput;
-
-public class OPML20GeneratorTest {
-
- @Test
- public void testOutputOfNullCategory() {
- assertThat(categoryOf((String) null).getLength(), is(equalTo(0)));
- }
-
- @Test
- public void testOutputOfEmptyCategory() {
- assertThat(categoryOf("").getLength(), is(equalTo(0)));
- }
-
- @Test
- public void testOutputOfBlankCategory() {
- assertThat(categoryOf(" ").getLength(), is(equalTo(0)));
- }
-
- @Test
- public void testOutputOfOneCategory() {
- assertThat(categoryValueOf("category1"), is(equalTo("category1")));
- }
-
- @Test
- public void testOutputOfMultipleCategories() {
- assertThat(categoryValueOf("category1", "category2"), is(equalTo("category1,category2")));
- }
-
- private NodeList categoryOf(final String... categories) {
-
- try {
-
- final Outline outline = new Outline("outline1", null);
- outline.setCategories(Arrays.asList(categories));
-
- final Opml opml = new Opml();
- opml.setFeedType("opml_2.0");
- opml.setTitle("title");
- opml.setOutlines(Arrays.asList(outline));
-
- final WireFeedOutput output = new WireFeedOutput();
- final String xml = output.outputString(opml);
-
- final Document document = XMLUnit.buildControlDocument(xml);
- return XMLUnit.newXpathEngine().getMatchingNodes("/opml/body/outline/@category", document);
-
- } catch (final Exception e) {
- throw new RuntimeException(e);
- }
-
- }
-
- private String categoryValueOf(final String... categories) {
- return categoryOf(categories).item(0).getNodeValue();
- }
-
-}
+package com.rometools.opml.io.impl;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.is;
+
+import java.util.Arrays;
+
+import org.custommonkey.xmlunit.XMLUnit;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+
+import com.rometools.opml.feed.opml.Opml;
+import com.rometools.opml.feed.opml.Outline;
+import com.rometools.rome.io.WireFeedOutput;
+
+public class OPML20GeneratorTest {
+
+ @Test
+ public void testOutputOfNullCategory() {
+ assertThat(categoryOf((String) null).getLength(), is(equalTo(0)));
+ }
+
+ @Test
+ public void testOutputOfEmptyCategory() {
+ assertThat(categoryOf("").getLength(), is(equalTo(0)));
+ }
+
+ @Test
+ public void testOutputOfBlankCategory() {
+ assertThat(categoryOf(" ").getLength(), is(equalTo(0)));
+ }
+
+ @Test
+ public void testOutputOfOneCategory() {
+ assertThat(categoryValueOf("category1"), is(equalTo("category1")));
+ }
+
+ @Test
+ public void testOutputOfMultipleCategories() {
+ assertThat(categoryValueOf("category1", "category2"), is(equalTo("category1,category2")));
+ }
+
+ private NodeList categoryOf(final String... categories) {
+
+ try {
+
+ final Outline outline = new Outline("outline1", null);
+ outline.setCategories(Arrays.asList(categories));
+
+ final Opml opml = new Opml();
+ opml.setFeedType("opml_2.0");
+ opml.setTitle("title");
+ opml.setOutlines(Arrays.asList(outline));
+
+ final WireFeedOutput output = new WireFeedOutput();
+ final String xml = output.outputString(opml);
+
+ final Document document = XMLUnit.buildControlDocument(xml);
+ return XMLUnit.newXpathEngine().getMatchingNodes("/opml/body/outline/@category", document);
+
+ } catch (final Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ private String categoryValueOf(final String... categories) {
+ return categoryOf(categories).item(0).getNodeValue();
+ }
+
+}
diff --git a/src/test/java/com/rometools/opml/test/NullWriter.java b/rome-opml/src/test/java/com/rometools/opml/test/NullWriter.java
similarity index 94%
rename from src/test/java/com/rometools/opml/test/NullWriter.java
rename to rome-opml/src/test/java/com/rometools/opml/test/NullWriter.java
index f4783e2..c1642a7 100644
--- a/src/test/java/com/rometools/opml/test/NullWriter.java
+++ b/rome-opml/src/test/java/com/rometools/opml/test/NullWriter.java
@@ -1,20 +1,20 @@
-package com.rometools.opml.test;
-
-import java.io.IOException;
-import java.io.Writer;
-
-public class NullWriter extends Writer {
-
- @Override
- public void write(final char[] cbuf, final int off, final int len) throws IOException {
- }
-
- @Override
- public void flush() throws IOException {
- }
-
- @Override
- public void close() throws IOException {
- }
-
-}
+package com.rometools.opml.test;
+
+import java.io.IOException;
+import java.io.Writer;
+
+public class NullWriter extends Writer {
+
+ @Override
+ public void write(final char[] cbuf, final int off, final int len) throws IOException {
+ }
+
+ @Override
+ public void flush() throws IOException {
+ }
+
+ @Override
+ public void close() throws IOException {
+ }
+
+}
diff --git a/src/test/java/com/rometools/opml/test/TestUtil.java b/rome-opml/src/test/java/com/rometools/opml/test/TestUtil.java
similarity index 95%
rename from src/test/java/com/rometools/opml/test/TestUtil.java
rename to rome-opml/src/test/java/com/rometools/opml/test/TestUtil.java
index 1af2465..ccd1b70 100644
--- a/src/test/java/com/rometools/opml/test/TestUtil.java
+++ b/rome-opml/src/test/java/com/rometools/opml/test/TestUtil.java
@@ -1,15 +1,15 @@
-package com.rometools.opml.test;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-public final class TestUtil {
-
- private TestUtil() {
- }
-
- public static Reader loadFile(final String path) {
- return new InputStreamReader(TestUtil.class.getResourceAsStream(path));
- }
-
-}
+package com.rometools.opml.test;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+public final class TestUtil {
+
+ private TestUtil() {
+ }
+
+ public static Reader loadFile(final String path) {
+ return new InputStreamReader(TestUtil.class.getResourceAsStream(path));
+ }
+
+}
diff --git a/src/test/resources/logback-test.xml b/rome-opml/src/test/resources/logback-test.xml
similarity index 90%
rename from src/test/resources/logback-test.xml
rename to rome-opml/src/test/resources/logback-test.xml
index 44dea42..c34b099 100644
--- a/src/test/resources/logback-test.xml
+++ b/rome-opml/src/test/resources/logback-test.xml
@@ -1,13 +1,13 @@
-