[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