[jboss-svn-commits] JBL Code SVN: r25573 - in labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main: java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 10 10:41:14 EDT 2009


Author: lkrzyzanek
Date: 2009-03-10 10:41:13 -0400 (Tue, 10 Mar 2009)
New Revision: 25573

Modified:
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/HFURLPlugin.java
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMapping.java
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin.xml
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/spring.xml
Log:
mapping is registered by Plugin instead of plugin.xml

Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/HFURLPlugin.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/HFURLPlugin.java	2009-03-10 12:00:31 UTC (rev 25572)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/HFURLPlugin.java	2009-03-10 14:41:13 UTC (rev 25573)
@@ -23,9 +23,11 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.jboss.labs.clearspace.plugin.hfurl.struts.mapping.HFURLMapping;
 
 import com.jivesoftware.base.plugin.Plugin;
 import com.jivesoftware.community.event.DocumentEventDispatcher;
+import com.jivesoftware.community.web.struts.JiveActionMapper;
 
 /**
  * Plugin lifecycle definition<br>
@@ -36,34 +38,48 @@
 
   /** Logger */
   protected static final Logger log = LogManager.getLogger(HFURLPlugin.class);
-  
+
   /**
    * HF URL Manager
    */
-  private DbHFURLManager hfUrlManager;
+  private DbHFURLManager dbHFURLManager;
+  
+  private HFURLMapping hfURLMapping;
 
   /**
    * Plugin name
    */
   private final String PLUGIN_NAME = "JBoss settings";
+  
+  /**
+   * HF URL Mapping prefix
+   */
+  private final String URL_MAPPING_PREFIX = "/doc";
 
   public void init() {
     log.debug("Init " + PLUGIN_NAME);
-    DocumentEventDispatcher.getInstance().addListener(hfUrlManager);
+    // cannot use urlmapping in plugin.xml - mapping class is not managed by spring
+    JiveActionMapper.addURLMapping(URL_MAPPING_PREFIX, hfURLMapping);
+    
+    DocumentEventDispatcher.getInstance().addListener(dbHFURLManager);
+    
     log.debug("Initialize completed of plugin " + PLUGIN_NAME);
   }
 
   public void destroy() {
-    DocumentEventDispatcher.getInstance().removeListener(hfUrlManager);
+    DocumentEventDispatcher.getInstance().removeListener(dbHFURLManager);
+    
+    JiveActionMapper.removeURLMapping(URL_MAPPING_PREFIX);
+    
     log.debug(PLUGIN_NAME + " destroyed");
   }
 
-  public void setHfUrlManager(DbHFURLManager hfUrlManager) {
-    this.hfUrlManager = hfUrlManager;
+  public void setDbHFURLManager(DbHFURLManager dbHFURLManager) {
+    this.dbHFURLManager = dbHFURLManager;
   }
 
-  public DbHFURLManager getHfUrlManager() {
-    return hfUrlManager;
+  public void setHfURLMapping(HFURLMapping hfURLMapping) {
+    this.hfURLMapping = hfURLMapping;
   }
 
 }

Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMapping.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMapping.java	2009-03-10 12:00:31 UTC (rev 25572)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMapping.java	2009-03-10 14:41:13 UTC (rev 25573)
@@ -36,7 +36,7 @@
 public class HFURLMapping extends DocURLMapping {
 
   private HFURLManager hfURLManager;
-
+  
   public void process(String uri, ActionMapping mapping) {
     uri = convertHFURL2StandardURL(uri);
     super.process(uri, mapping);
@@ -58,11 +58,10 @@
       } else {
         hfURLTitle = uriElements[2];
       }
-      // String documentID = hfURLManager.getDocumentID(hfURLTitle);
-      String documentID = "DOC-1000";
+      String documentID = hfURLManager.getDocumentID(hfURLTitle);
 
       if (documentID == null) {
-        // document not found
+        // TODO document not found
       } else {
         final int hfURLTitleEndIndex = uri.indexOf(hfURLTitle) + hfURLTitle.length();
         StringBuilder sb = new StringBuilder("/docs/");
@@ -82,8 +81,4 @@
     this.hfURLManager = hfURLManager;
   }
 
-  public HFURLManager getHfURLManager() {
-    return hfURLManager;
-  }
-
 }

Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin.xml	2009-03-10 12:00:31 UTC (rev 25572)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin.xml	2009-03-10 14:41:13 UTC (rev 25573)
@@ -10,13 +10,15 @@
   <class>org.jboss.labs.clearspace.plugin.hfurl.HFURLPlugin</class>
 
   <!-- URL Mapping for human friendly URLs -->
-  <urlmapping prefix="/doc" class="org.jboss.labs.clearspace.plugin.hfurl.struts.mapping.HFURLMapping"/>
+  <!--
+    Defined during initialization of plugin instead of this declaration:
+    <urlmapping prefix="/doc"
+    class="org.jboss.labs.clearspace.plugin.hfurl.struts.mapping.HFURLMapping"/>
+  -->
+
   <sitemesh>
-    <decorator name="default" page="/template/decoratordefault/template.ftl">
-        <pattern>/doc*</pattern>
+    <decorator name="doc-default" page="/template/decorator/default/template.ftl">
+      <pattern>/doc*</pattern>
     </decorator>
-    <decorator name="default" page="/template/decoratordefault/template.ftl">
-        <pattern>/doc/*</pattern>
-    </decorator>
   </sitemesh>
-</plugin>
\ No newline at end of file
+</plugin>

Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/spring.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/spring.xml	2009-03-10 12:00:31 UTC (rev 25572)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/spring.xml	2009-03-10 14:41:13 UTC (rev 25573)
@@ -3,26 +3,30 @@
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
   xsi:schemaLocation="
 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
-http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd"
-  default-autowire="no" default-init-method="init">
-  
+http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
+
   <bean id="hfURLPlugin" class="org.jboss.labs.clearspace.plugin.hfurl.HFURLPlugin">
-    <property name="hfUrlManager" ref="dbHFURLManager" />
+    <property name="dbHFURLManager" ref="hfURLManager" />
+    <property name="hfURLMapping" ref="hfURLMapping" />
   </bean>
-  
-  <bean id="hfURLMapping" class="org.jboss.labs.clearspace.plugin.hfurl.struts.mapping.HFURLMapping"></bean>
-  
-<!-- 
-  <bean id="hfURLCache" parent="cacheBean" depends-on="cacheFactoryManager">
-    <constructor-arg value="Human friendly URLs Map" />
+
+  <bean id="hfURLMapping"
+    class="org.jboss.labs.clearspace.plugin.hfurl.struts.mapping.HFURLMapping">
+    <property name="hfURLManager" ref="hfURLManager" />
   </bean>
- -->
 
+  <!--
+    <bean id="hfURLCache" parent="cacheBean"
+    depends-on="cacheFactoryManager"> <constructor-arg value="Human
+    friendly URLs Map" /> </bean>
+  -->
 
-  <bean id="dbHFURLManager" class="org.jboss.labs.clearspace.plugin.hfurl.DbHFURLManager">
-<!-- 
-    <property name="hfURLCache" ref="hfURLCache" />
- -->
+  <bean id="hfURLManager" class="org.jboss.labs.clearspace.plugin.hfurl.DbHFURLManager">
+    <property name="hfURLCache">
+      <map>
+        <entry key="DOC-1000" value="hf-url-page" />
+      </map>
+    </property>
   </bean>
 
 </beans>




More information about the jboss-svn-commits mailing list