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) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.