[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