[jboss-cvs] JBossBlog SVN: r67 - in trunk/blog-common/src/java/org/jboss/blog: rome and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 14 11:35:15 EDT 2007


Author: adamw
Date: 2007-03-14 11:35:15 -0400 (Wed, 14 Mar 2007)
New Revision: 67

Added:
   trunk/blog-common/src/java/org/jboss/blog/rome/
   trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModule.java
   trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleGenerator.java
   trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleImpl.java
   trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleParser.java
Log:
Refactoring

Added: trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModule.java
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModule.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModule.java	2007-03-14 15:35:15 UTC (rev 67)
@@ -0,0 +1,14 @@
+package org.jboss.blog.rome;
+
+import com.sun.syndication.feed.module.Module;
+import com.sun.syndication.feed.CopyFrom;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public interface CommentRssModule extends Module, CopyFrom {
+    public static final String URI = "http://wellformedweb.org/CommentAPI/";
+
+    public String getCommentRss();
+    public void setCommentRss(String commentRss);
+}

Added: trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleGenerator.java
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleGenerator.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleGenerator.java	2007-03-14 15:35:15 UTC (rev 67)
@@ -0,0 +1,58 @@
+package org.jboss.blog.rome;
+
+import com.sun.syndication.io.ModuleGenerator;
+import com.sun.syndication.feed.module.Module;
+
+import java.util.Set;
+import java.util.HashSet;
+import java.util.Collections;
+
+import org.jdom.Namespace;
+import org.jdom.Element;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class CommentRssModuleGenerator implements ModuleGenerator {
+    private static final Namespace COMM_RSS_NS =
+            Namespace.getNamespace("wfw", CommentRssModule.URI);
+
+    public String getNamespaceUri() {
+        return CommentRssModule.URI;
+    }
+
+    private static Set NAMESPACES;
+
+    static {
+        Set nss = new HashSet();
+        //noinspection unchecked
+        nss.add(CommentRssModuleGenerator.COMM_RSS_NS);
+        //noinspection unchecked
+        CommentRssModuleGenerator.NAMESPACES = Collections.unmodifiableSet(nss);
+    }
+
+    public Set getNamespaces() {
+        return CommentRssModuleGenerator.NAMESPACES;
+    }
+
+    public void generate(Module module, Element element) {
+        // this is not necessary, it is done to avoid the namespace definition in every item.
+        Element root = element;
+        while (root.getParent()!=null && root.getParent() instanceof Element) {
+            root = (Element) element.getParent();
+        }
+        root.addNamespaceDeclaration(CommentRssModuleGenerator.COMM_RSS_NS);
+
+        CommentRssModule crm = (CommentRssModule) module;
+        if (crm.getCommentRss() != null) {
+            element.addContent(generateSimpleElement("commentRss",
+                    crm.getCommentRss()));
+        }
+    }
+
+    protected Element generateSimpleElement(String name, String value)  {
+        Element element = new Element(name, CommentRssModuleGenerator.COMM_RSS_NS);
+        element.addContent(value);
+        return element;
+    }
+}

Added: trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleImpl.java
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleImpl.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleImpl.java	2007-03-14 15:35:15 UTC (rev 67)
@@ -0,0 +1,32 @@
+package org.jboss.blog.rome;
+
+import com.sun.syndication.feed.module.ModuleImpl;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class CommentRssModuleImpl extends ModuleImpl
+        implements CommentRssModule {
+    private String commentRss;
+
+    public CommentRssModuleImpl() {
+        super(CommentRssModule.class, CommentRssModule.URI);
+    }
+
+    public String getCommentRss() {
+        return commentRss;
+    }
+
+    public void setCommentRss(String commentRss) {
+        this.commentRss = commentRss;
+    }
+
+    public Class getInterface() {
+        return CommentRssModule.class;
+    }
+
+    public void copyFrom(Object obj) {
+        CommentRssModule crm = (CommentRssModule) obj;
+        setCommentRss(crm.getCommentRss());
+    }
+}

Added: trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleParser.java
===================================================================
--- trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleParser.java	                        (rev 0)
+++ trunk/blog-common/src/java/org/jboss/blog/rome/CommentRssModuleParser.java	2007-03-14 15:35:15 UTC (rev 67)
@@ -0,0 +1,31 @@
+package org.jboss.blog.rome;
+
+import com.sun.syndication.io.ModuleParser;
+import com.sun.syndication.feed.module.Module;
+import org.jdom.Namespace;
+import org.jdom.Element;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class CommentRssModuleParser implements ModuleParser {
+    private static final Namespace COMM_RSS_NS =
+            Namespace.getNamespace("wfw", CommentRssModule.URI);
+
+    public String getNamespaceUri() {
+        return CommentRssModule.URI;
+    }
+
+    public Module parse(Element dcRoot) {
+        boolean foundSomething = false;
+        CommentRssModule fm = new CommentRssModuleImpl();
+
+        Element e = dcRoot.getChild("commentRss", CommentRssModuleParser.COMM_RSS_NS);
+        if (e != null) {
+            foundSomething = true;
+            fm.setCommentRss(e.getText());
+        }
+
+        return (foundSomething) ? fm : null;
+    }
+}




More information about the jboss-cvs-commits mailing list