[jboss-svn-commits] JBL Code SVN: r6213 - in labs/shotoku/trunk/shotoku-blog: . src/etc src/etc/META-INF src/java/org/jboss src/java/org/jboss/blog src/java/org/jboss/blog/service src/java/org/jboss/blog/service/name src/java/org/jboss/shotoku

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 13 17:19:57 EDT 2006


Author: adamw
Date: 2006-09-13 17:19:52 -0400 (Wed, 13 Sep 2006)
New Revision: 6213

Added:
   labs/shotoku/trunk/shotoku-blog/src/etc/META-INF/
   labs/shotoku/trunk/shotoku-blog/src/etc/META-INF/jboss-service.xml
   labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/
   labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/BlogName.java
   labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/
   labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/BlogService.java
   labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/
   labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/BlogNameService.java
   labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java
Removed:
   labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/shotoku/blog/
Modified:
   labs/shotoku/trunk/shotoku-blog/
   labs/shotoku/trunk/shotoku-blog/project.properties
   labs/shotoku/trunk/shotoku-blog/project.xml
Log:
http://jira.jboss.com/jira/browse/JBSHOTOKU-94


Property changes on: labs/shotoku/trunk/shotoku-blog
___________________________________________________________________
Name: svn:ignore
   - target

   + target
build.properties


Modified: labs/shotoku/trunk/shotoku-blog/project.properties
===================================================================
--- labs/shotoku/trunk/shotoku-blog/project.properties	2006-09-13 21:14:41 UTC (rev 6212)
+++ labs/shotoku/trunk/shotoku-blog/project.properties	2006-09-13 21:19:52 UTC (rev 6213)
@@ -1,3 +1,5 @@
 maven.repo.remote=http://repository.atlassian.com,http://www.ibiblio.org/maven,http://dist.codehaus.org/
 maven.junit.fork=yes
 maven.war.src=${basedir}/src/web
+maven.compile.source=1.4
+maven.compile.target=1.4
\ No newline at end of file

Modified: labs/shotoku/trunk/shotoku-blog/project.xml
===================================================================
--- labs/shotoku/trunk/shotoku-blog/project.xml	2006-09-13 21:14:41 UTC (rev 6212)
+++ labs/shotoku/trunk/shotoku-blog/project.xml	2006-09-13 21:19:52 UTC (rev 6213)
@@ -6,7 +6,6 @@
  -->
 <project>
     <pomVersion>3</pomVersion>
-    <extend>../common.xml</extend>
     <id>shotoku-blog</id>
     <name>Shotoku Blog</name>
     <currentVersion>1.0</currentVersion>

Added: labs/shotoku/trunk/shotoku-blog/src/etc/META-INF/jboss-service.xml
===================================================================
--- labs/shotoku/trunk/shotoku-blog/src/etc/META-INF/jboss-service.xml	2006-09-13 21:14:41 UTC (rev 6212)
+++ labs/shotoku/trunk/shotoku-blog/src/etc/META-INF/jboss-service.xml	2006-09-13 21:19:52 UTC (rev 6213)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+    <mbean
+            code="org.jboss.blog.service.name.PortletPreferencesBlogNameService"
+            name="blog:service=Name"
+            xmbean-dd=""
+            xmbean-code="org.jboss.portal.common.system.JBossServiceModelMBean">
+        <xmbean/>
+        <attribute name="IdPreferenceName">blogId</attribute>
+        <attribute name="IdInitParameterName">blogId</attribute>
+        <attribute name="CategoryPreferenceName">blogCategory</attribute>
+        <attribute name="CategoryInitParameterName">blogCategory</attribute>
+    </mbean>
+
+    <mbean
+            code="org.jboss.blog.service.BlogService"
+            name="blog:service=Main"
+            xmbean-dd=""
+            xmbean-code="org.jboss.portal.common.system.JBossServiceModelMBean">
+        <xmbean/>
+        <depends
+                optional-attribute-name="NameService"
+                proxy-type="attribute">blog:service=Name</depends>
+    </mbean>
+</server>
\ No newline at end of file

Added: labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/BlogName.java
===================================================================
--- labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/BlogName.java	2006-09-13 21:14:41 UTC (rev 6212)
+++ labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/BlogName.java	2006-09-13 21:19:52 UTC (rev 6213)
@@ -0,0 +1,24 @@
+package org.jboss.blog;
+
+import java.io.Serializable;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class BlogName implements Serializable {
+    private String id;
+    private String category;
+
+    public BlogName(String id, String category) {
+        this.id = id;
+        this.category = category;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+}

Added: labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/BlogService.java
===================================================================
--- labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/BlogService.java	2006-09-13 21:14:41 UTC (rev 6212)
+++ labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/BlogService.java	2006-09-13 21:19:52 UTC (rev 6213)
@@ -0,0 +1,23 @@
+package org.jboss.blog.service;
+
+import org.jboss.portal.common.system.AbstractJBossService;
+import org.jboss.blog.service.name.BlogNameService;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class BlogService extends AbstractJBossService {
+    public BlogService() {
+
+    }
+
+    private BlogNameService nameService;
+
+    public BlogNameService getNameService() {
+        return nameService;
+    }
+
+    public void setNameService(BlogNameService nameService) {
+        this.nameService = nameService;
+    }
+}

Added: labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/BlogNameService.java
===================================================================
--- labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/BlogNameService.java	2006-09-13 21:14:41 UTC (rev 6212)
+++ labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/BlogNameService.java	2006-09-13 21:19:52 UTC (rev 6213)
@@ -0,0 +1,18 @@
+package org.jboss.blog.service.name;
+
+import org.jboss.blog.BlogName;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public interface BlogNameService {
+    /**
+     * From the given request objest, reads name of the blog (that is,
+     * id-category pair) that is currently selected.
+     * @param request Current request object. Typically, this will be either
+     * an instance of ServletRequest or PortletRequest.
+     * @return Name of the selected blog, which should be displayed/ edited
+     * etc.
+     */
+    public BlogName getBlogName(Object request);
+}

Added: labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java
===================================================================
--- labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java	2006-09-13 21:14:41 UTC (rev 6212)
+++ labs/shotoku/trunk/shotoku-blog/src/java/org/jboss/blog/service/name/PortletPreferencesBlogNameService.java	2006-09-13 21:19:52 UTC (rev 6213)
@@ -0,0 +1,80 @@
+package org.jboss.blog.service.name;
+
+import org.jboss.portal.common.system.AbstractJBossService;
+import org.jboss.blog.BlogName;
+
+import javax.portlet.PortletRequest;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class PortletPreferencesBlogNameService extends AbstractJBossService
+        implements BlogNameService {
+    private String idPreferenceName;
+    private String idInitParameterName;
+    private String categoryPreferenceName;
+    private String categoryInitParameterName;
+
+    public PortletPreferencesBlogNameService() {
+
+    }
+
+    /**
+     * Using the given request object, tries to read a given portlet preference, using
+     * as the default value an init parameter of the given name.
+     * @param req Request from which to read.
+     * @param prefName Name of the preference to read.
+     * @param initParamName Name of the initial parameter name, which value will be
+     * returned in case the given preference is not set.
+     * @return Value of the given portlet preference or if it is not set, value of the
+     * given initial parameter.
+     */
+    private String getPreference(PortletRequest req, String prefName, String initParamName) {
+        return req.getPreferences().getValue(prefName,
+                req.getPortletSession().getPortletContext().getInitParameter(initParamName));
+    }
+
+    public BlogName getBlogName(Object request) {
+        if (!(request instanceof PortletRequest)) {
+            throw new IllegalArgumentException(this.getClass().getName() +
+                    " accepts only PortletRequest parameters, not of class: " +
+                    (request == null ? "NULL" : request.getClass().getName()));
+        }
+
+        PortletRequest req = (PortletRequest) request;
+        return new BlogName(getPreference(req, idPreferenceName, idInitParameterName),
+                getPreference(req, categoryPreferenceName, categoryInitParameterName));
+    }
+
+    public String getIdPreferenceName() {
+        return idPreferenceName;
+    }
+
+    public void setIdPreferenceName(String idPreferenceName) {
+        this.idPreferenceName = idPreferenceName;
+    }
+
+    public String getIdInitParameterName() {
+        return idInitParameterName;
+    }
+
+    public void setIdInitParameterName(String idInitParameterName) {
+        this.idInitParameterName = idInitParameterName;
+    }
+
+    public String getCategoryPreferenceName() {
+        return categoryPreferenceName;
+    }
+
+    public void setCategoryPreferenceName(String categoryPreferenceName) {
+        this.categoryPreferenceName = categoryPreferenceName;
+    }
+
+    public String getCategoryInitParameterName() {
+        return categoryInitParameterName;
+    }
+
+    public void setCategoryInitParameterName(String categoryInitParameterName) {
+        this.categoryInitParameterName = categoryInitParameterName;
+    }
+}




More information about the jboss-svn-commits mailing list