[jboss-svn-commits] JBL Code SVN: r25793 - in labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src: main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 24 04:53:08 EDT 2009
Author: lkrzyzanek
Date: 2009-03-24 04:53:08 -0400 (Tue, 24 Mar 2009)
New Revision: 25793
Removed:
labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components/HFURLComponentTest.java
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/HFURLManager.java
labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components/HFURLComponent.java
labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/spring.xml
labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManagerTest.java
labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMappingTest.java
Log:
converting standard URL to HF URL moved from component to Manager.
added method getHFURL to Manger which is accessible via DWR also
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-23 20:55:44 UTC (rev 25792)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManager.java 2009-03-24 08:53:08 UTC (rev 25793)
@@ -61,6 +61,8 @@
private String hfULRPrefix;
+ private String docIdURLPrefix;
+
public long getIndexedURLsCount() {
return hfURLDAO.getIndexedURLsCount();
}
@@ -134,6 +136,63 @@
return hfURLTitle;
}
+ public String getHFURL(String standardURL) {
+ String hfURL = standardURL;
+ try {
+ if (standardURL != null && standardURL.contains(docIdURLPrefix + "/")) {
+ final String documentId = getDocumentId(standardURL);
+ final String hfTitle = getHfURLTitle(documentId);
+ hfURL = standardURL.replaceFirst(docIdURLPrefix + "/" + documentId,
+ getHfULRPrefix() + "/" + hfTitle);
+ if (log.isDebugEnabled()) {
+ log.debug("Founded title: " + hfTitle + ", for documentID: "
+ + documentId);
+ log.debug("Transformed URL: " + hfURL);
+ }
+ }
+ } catch (EmptyResultDataAccessException e) {
+ log.debug("HF URL not defined. Returning original URL");
+ } catch (Exception e) {
+ log.error("Error occur while changing URL to Human friendly URL."
+ + " Returning original URL", e);
+ // something wrong - catch it and use original URL
+ }
+ return hfURL;
+ }
+
+ /**
+ * Get Document ID from URL
+ *
+ * @param url
+ * URL in standard CS format i.e. /docs/DOC-1234
+ * @return document ID i.e. DOC-1234
+ */
+ protected String getDocumentId(String url) {
+ log.trace("Test of question mark");
+ final int questionMark = url.indexOf('?');
+ if (questionMark != -1) {
+ url = url.substring(0, questionMark);
+ }
+ log.trace("Test of ;jsessionid");
+ final int jsessionid = url.indexOf(";jsessionid");
+ if (jsessionid != -1) {
+ url = url.substring(0, jsessionid);
+ }
+ log.trace("Test of .pdf");
+ if (url.endsWith(".pdf")) {
+ url = url.replace(".pdf", "");
+ }
+
+ final int docIDStart = url.indexOf(docIdURLPrefix + "/")
+ + docIdURLPrefix.length() + 1;
+ int docIDEnd = url.indexOf("/", docIDStart);
+ if (docIDEnd == -1) {
+ docIDEnd = url.length();
+ }
+
+ return url.substring(docIDStart, docIDEnd);
+ }
+
public List<String> getDocumentID(String hfURLTitle) {
List<String> docIds = new ArrayList<String>();
if (hfURLCache.containsValue(hfURLTitle)) {
@@ -294,4 +353,8 @@
return hfULRPrefix;
}
+ public void setDocIdURLPrefix(String docIdURLPrefix) {
+ this.docIdURLPrefix = docIdURLPrefix;
+ }
+
}
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/HFURLManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/HFURLManager.java 2009-03-23 20:55:44 UTC (rev 25792)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/HFURLManager.java 2009-03-24 08:53:08 UTC (rev 25793)
@@ -70,6 +70,13 @@
* @see com.jivesoftware.community.impl.dao.DocumentBean#getDocumentID()
*/
public List<String> getDocumentID(String hfURLTitle);
+
+ /**
+ * Get human friendly URL from standard CS URL
+ * @param standardURL i.e. /docs/DOC-1234
+ * @return i.e. /wiki/humanFriendlyURL
+ */
+ public String getHFURL(String standardURL);
/**
* Get HF URL Title for document ID
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components/HFURLComponent.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components/HFURLComponent.java 2009-03-23 20:55:44 UTC (rev 25792)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components/HFURLComponent.java 2009-03-24 08:53:08 UTC (rev 25793)
@@ -33,7 +33,6 @@
import org.apache.struts2.StrutsException;
import org.apache.struts2.components.URL;
import org.jboss.labs.clearspace.plugin.hfurl.HFURLManager;
-import org.springframework.dao.EmptyResultDataAccessException;
import com.opensymphony.xwork2.util.ValueStack;
@@ -47,8 +46,6 @@
private HFURLManager hfURLManager;
- private final static String DOCID_PREFIX = "/docs/";
-
public HFURLComponent(ValueStack stack, HttpServletRequest req,
HttpServletResponse res) {
super(stack, req, res);
@@ -69,26 +66,7 @@
log.debug("original URL: " + url);
}
- try {
- if (url != null && url.contains(DOCID_PREFIX)) {
- final String documentId = getDocumentId(url);
- final String hfTitle = hfURLManager.getHfURLTitle(documentId);
- url = url.replaceFirst(DOCID_PREFIX + documentId, hfURLManager
- .getHfULRPrefix()
- + "/" + hfTitle);
- if (log.isDebugEnabled()) {
- log.debug("Founded title: " + hfTitle + ", for documentID: "
- + documentId);
- log.debug("Transformed URL: " + url);
- }
- }
- } catch (EmptyResultDataAccessException e) {
- log.debug("HF URL not defined. Returning original URL");
- } catch (Exception e) {
- log.error("Error occur while changing URL to Human friendly URL."
- + " Returning original URL", e);
- // something wrong - catch it and use original URL
- }
+ url = hfURLManager.getHFURL(url);
try {
writer.write(url);
@@ -98,38 +76,6 @@
return result;
}
- /**
- * Get Document ID from URL
- *
- * @param url
- * URL in standard CS format i.e. /docs/DOC-1234
- * @return document ID i.e. DOC-1234
- */
- protected static String getDocumentId(String url) {
- log.trace("Test of question mark");
- final int questionMark = url.indexOf('?');
- if (questionMark != -1) {
- url = url.substring(0, questionMark);
- }
- log.trace("Test of ;jsessionid");
- final int jsessionid = url.indexOf(";jsessionid");
- if (jsessionid != -1) {
- url = url.substring(0, jsessionid);
- }
- log.trace("Test of .pdf");
- if (url.endsWith(".pdf")) {
- url = url.replace(".pdf", "");
- }
-
- final int docIDStart = url.indexOf(DOCID_PREFIX) + DOCID_PREFIX.length();
- int docIDEnd = url.indexOf("/", docIDStart);
- if (docIDEnd == -1) {
- docIDEnd = url.length();
- }
-
- return url.substring(docIDStart, docIDEnd);
- }
-
public void setHfURLManager(HFURLManager hfURLManager) {
this.hfURLManager = hfURLManager;
}
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-23 20:55:44 UTC (rev 25792)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/resources/spring.xml 2009-03-24 08:53:08 UTC (rev 25793)
@@ -26,9 +26,10 @@
</property>
<property name="hfURLDAO" ref="hfURLDAO" />
<property name="hfULRPrefix" value="/wiki" />
+ <property name="docIdURLPrefix" value="/docs" />
<dwr:remote javascript="HFURLManager">
- <dwr:include method="getHfURLTitle" />
+ <dwr:include method="getHFURL" />
</dwr:remote>
</bean>
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManagerTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManagerTest.java 2009-03-23 20:55:44 UTC (rev 25792)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/DbHFURLManagerTest.java 2009-03-24 08:53:08 UTC (rev 25793)
@@ -50,6 +50,8 @@
@Before
public void setupHFURLManager() {
hfURLManager = new DbHFURLManager();
+ hfURLManager.setDocIdURLPrefix("/docs");
+ hfURLManager.setHfULRPrefix("/wiki");
hfURLCache = new CoherenceCache();
@@ -139,4 +141,35 @@
assertEquals(0, hfURLManager.getDocumentID("not-existing").size());
}
+ @Test
+ public void testGetHFURL() {
+ assertEquals("/wiki/documentwithfriendlyurl", hfURLManager
+ .getHFURL("/docs/DOC-1234"));
+ assertEquals("/wiki/documentwithfriendlyurl.pdf", hfURLManager
+ .getHFURL("/docs/DOC-1234.pdf"));
+ }
+
+ @Test
+ public void testGetDocumentId() {
+ assertEquals("DOC-1234", hfURLManager
+ .getDocumentId("/community/docs/DOC-1234"));
+ assertEquals("DOC-1234", hfURLManager
+ .getDocumentId("/community/docs/DOC-1234.pdf"));
+ assertEquals("DOC-10350", hfURLManager
+ .getDocumentId("/community/docs/DOC-10350"));
+ assertEquals("DOC-1234", hfURLManager
+ .getDocumentId("/community/docs/DOC-1234/edit"));
+
+ assertEquals("DOC-1234", hfURLManager
+ .getDocumentId("/community/docs/DOC-1234?decorator=print"));
+ assertEquals("DOC-1234", hfURLManager
+ .getDocumentId("/community/docs/DOC-1234/edit?decorator=print"));
+
+ assertEquals(
+ "DOC-1234",
+ hfURLManager
+ .getDocumentId("/community/docs/DOC-1234;jsessionid=4666CC84E4D942F30DA3A5C3142D1DA4"));
+
+ }
+
}
Deleted: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components/HFURLComponentTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components/HFURLComponentTest.java 2009-03-23 20:55:44 UTC (rev 25792)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/struts/components/HFURLComponentTest.java 2009-03-24 08:53:08 UTC (rev 25793)
@@ -1,49 +0,0 @@
-/*
- * JBoss.org http://jboss.org/
- *
- * Copyright (c) 2009 Red Hat Middleware, LLC. All rights reserved.
- *
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT A WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License, v.2.1 along with this distribution; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * Red Hat Author(s): Libor Krzyzanek
- */
-package org.jboss.labs.clearspace.plugin.hfurl.struts.components;
-
-import static org.junit.Assert.assertEquals;
-import org.junit.Test;
-
-/**
- * Test of HF URL Component
- *
- * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
- *
- */
-public class HFURLComponentTest {
-
- @Test
- public void testGetDocumentId() {
- assertEquals("DOC-1234", HFURLComponent.getDocumentId("/community/docs/DOC-1234"));
- assertEquals("DOC-1234", HFURLComponent.getDocumentId("/community/docs/DOC-1234.pdf"));
- assertEquals("DOC-10350", HFURLComponent.getDocumentId("/community/docs/DOC-10350"));
- assertEquals("DOC-1234", HFURLComponent.getDocumentId("/community/docs/DOC-1234/edit"));
-
- assertEquals("DOC-1234", HFURLComponent.getDocumentId("/community/docs/DOC-1234?decorator=print"));
- assertEquals("DOC-1234", HFURLComponent.getDocumentId("/community/docs/DOC-1234/edit?decorator=print"));
-
- assertEquals("DOC-1234", HFURLComponent.getDocumentId("/community/docs/DOC-1234;jsessionid=4666CC84E4D942F30DA3A5C3142D1DA4"));
-
- }
-
-}
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMappingTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMappingTest.java 2009-03-23 20:55:44 UTC (rev 25792)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/test/java/org/jboss/labs/clearspace/plugin/hfurl/struts/mapping/HFURLMappingTest.java 2009-03-24 08:53:08 UTC (rev 25793)
@@ -50,6 +50,10 @@
public void setupHFURLMapping() {
actionMapping = new HFURLMapping();
actionMapping.setHfURLManager(new HFURLManager() {
+ public String getHFURL(String standardURL) {
+ return null;
+ }
+
public boolean isHFLinksEnabled() {
return false;
}
More information about the jboss-svn-commits
mailing list