You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2008/03/26 22:41:57 UTC

svn commit: r641591 - /lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/ContentLinkManager.java

Author: andreas
Date: Wed Mar 26 14:41:56 2008
New Revision: 641591

URL: http://svn.apache.org/viewvc?rev=641591&view=rev
Log:
ContentLinkManager: strip anchor and query string from link URIs before building link objects.

Modified:
    lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/ContentLinkManager.java

Modified: lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/ContentLinkManager.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/ContentLinkManager.java?rev=641591&r1=641590&r2=641591&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/ContentLinkManager.java (original)
+++ lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/ContentLinkManager.java Wed Mar 26 14:41:56 2008
@@ -59,7 +59,7 @@
                     Node node;
                     while ((node = iter.nextNode()) != null) {
                         Attr attr = (Attr) node;
-                        String uri = attr.getValue();
+                        String uri = getDocumentUri(attr.getValue());
                         if (isLinkUri(uri)) {
                             links.add(new Link(uri));
                         }
@@ -73,6 +73,25 @@
         }
 
         return (Link[]) links.toArray(new Link[links.size()]);
+    }
+
+    /**
+     * @param uri The URI as used in the content.
+     * @return The actual document URI without anchor and query string.
+     */
+    protected String getDocumentUri(String uri) {
+        String docUri = uri;
+        docUri = removeSuffix(docUri, '#');
+        docUri = removeSuffix(docUri, '?');
+        return docUri;
+    }
+
+    protected String removeSuffix(String docUri, char delimiter) {
+        int anchorIndex = docUri.indexOf(delimiter);
+        if (anchorIndex > -1) {
+            docUri = docUri.substring(0, anchorIndex);
+        }
+        return docUri;
     }
 
     protected boolean isLinkUri(String uri) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org