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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 12 08:58:46 EDT 2009


Author: lkrzyzanek
Date: 2009-03-12 08:58:45 -0400 (Thu, 12 Mar 2009)
New Revision: 25615

Added:
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin_i18n.properties
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/struts.xml
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/navigation.ftl
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/notfound.ftl
Modified:
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManager.java
   labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMapping.java
Log:
added actions and templates for navigation and notfound cases

Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManager.java	2009-03-12 12:58:13 UTC (rev 25614)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManager.java	2009-03-12 12:58:45 UTC (rev 25615)
@@ -105,7 +105,7 @@
           hfURLCache.put(dbbean.getDocumentID(), hfURLTitle);
         }
       } catch (EmptyResultDataAccessException e) {
-        docIds.add("DOC-"); // non existing document
+        // nothing founded
       }
     }
 

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-12 12:58:13 UTC (rev 25614)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMapping.java	2009-03-12 12:58:45 UTC (rev 25615)
@@ -41,18 +41,31 @@
 
   private static final Logger log = LogManager.getLogger(HFURLMapping.class);
 
+  public static final String DOC_NOT_FOUND = "NOT_FOUND";
+
+  public static final String DOC_MORE_THAN_ONE = "MORE_THAN_ONE";
+
   private HFURLManager hfURLManager;
 
   public void process(String uri, ActionMapping mapping) {
     uri = convertHFURL2StandardURL(uri);
-    super.process(uri, mapping);
+    if (DOC_NOT_FOUND.equals(uri)) {
+      mapping.setName("wikiNotFound");
+      mapping.setNamespace("/hfurl");
+    } else if (DOC_MORE_THAN_ONE.equals(uri)) {
+      mapping.setName("wikiNavigation");
+      mapping.setNamespace("/hfurl");
+    } else {
+      super.process(uri, mapping);
+    }
   }
 
   /**
    * Converts HF URL to standard CS URL
    * 
    * @param uri
-   * @return
+   * @return /docs/DOC-XXXX or value of {@link #DOC_NOT_FOUND} or
+   *         {@link #DOC_MORE_THAN_ONE}
    */
   protected String convertHFURL2StandardURL(String uri) {
     String[] uriElements = uri.split("/");
@@ -67,24 +80,26 @@
       }
       List<String> documentIDs = hfURLManager.getDocumentID(hfURLTitle);
 
-      if (documentIDs.size() == 1) {
-        final int hfURLTitleEndIndex = uri.indexOf(hfURLTitle)
-            + hfURLTitle.length();
-        StringBuilder sb = new StringBuilder("/docs/");
-        sb.append(documentIDs.get(0));
+      if (documentIDs.isEmpty()) {
+        log.debug("Document not found");
+        uri = DOC_NOT_FOUND;
+      } else {
+        if (documentIDs.size() == 1) {
+          final int hfURLTitleEndIndex = uri.indexOf(hfURLTitle)
+              + hfURLTitle.length();
+          StringBuilder sb = new StringBuilder("/docs/");
+          sb.append(documentIDs.get(0));
 
-        if (hfURLTitleEndIndex < uri.length()) {
-          sb.append(uri.substring(hfURLTitleEndIndex, uri.length()));
+          if (hfURLTitleEndIndex < uri.length()) {
+            sb.append(uri.substring(hfURLTitleEndIndex, uri.length()));
+          }
+          uri = sb.toString();
+        } else {
+          if (log.isDebugEnabled()) {
+            log.debug("More than one page is founded for title: " + hfURLTitle);
+          }
+          uri = DOC_MORE_THAN_ONE;
         }
-        uri = sb.toString();
-      } else {
-        if (log.isDebugEnabled()) {
-          log.debug("More than one page is founded for title: " + hfURLTitle);
-        }
-        // TODO redirect to page with links to each document
-
-        // at now non existing page is returned.
-        uri = "/docs/DOC-";
       }
     }
     return uri;

Added: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin_i18n.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin_i18n.properties	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin_i18n.properties	2009-03-12 12:58:45 UTC (rev 25615)
@@ -0,0 +1,5 @@
+plugin.hfurl.navigation.name=Document navigation
+plugin.hfurl.navigation.description=More then one document is matching to your request. Please choose which document did you mean. 
+
+plugin.hfurl.notfound.name=Document not found
+plugin.hfurl.notfound.description=Document does not exist. It may have been deleted.


Property changes on: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/plugin_i18n.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/struts.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/struts.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/struts.xml	2009-03-12 12:58:45 UTC (rev 25615)
@@ -0,0 +1,24 @@
+<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+        "http://struts.apache.org/dtds/struts-2.0.dtd">
+<struts>
+  <package name="hfurl-actions" namespace="/hfurl" extends="community-actions">
+
+    <!--
+      wiki navigation - when there are more then one document relevant
+      to HF URL then show this page
+    -->
+    <action name="wikiNavigation"
+      class="com.jivesoftware.community.action.JiveActionSupport">
+      <result name="success">/plugins/human-friendly-urls/navigation.ftl
+      </result>
+    </action>
+    
+    <action name="wikiNotFound"
+      class="com.jivesoftware.community.action.JiveActionSupport">
+      <result name="success">/plugins/human-friendly-urls/notfound.ftl
+      </result>
+    </action>
+
+  </package>
+
+</struts>


Property changes on: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/struts.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/navigation.ftl
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/navigation.ftl	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/navigation.ftl	2009-03-12 12:58:45 UTC (rev 25615)
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <#assign title = action.getText("plugin.hfurl.navigation.name") />
+    <title>${title}</title>
+</head>
+<body>
+    <h1>${title}</h1>
+    <p><@s.text name="plugin.hfurl.navigation.description" /></p>
+</body>
+</html>
\ No newline at end of file

Added: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/notfound.ftl
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/notfound.ftl	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/web/notfound.ftl	2009-03-12 12:58:45 UTC (rev 25615)
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <#assign title = action.getText("plugin.hfurl.notfound.name") />
+    <title>${title}</title>
+</head>
+<body>
+    <h1>${title}</h1>
+    <p><@s.text name="plugin.hfurl.notfound.description" /></p>
+</body>
+</html>
\ No newline at end of file




More information about the jboss-svn-commits mailing list