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 2006/07/28 11:23:44 UTC
svn commit: r426451 -
/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java
Author: andreas
Date: Fri Jul 28 02:23:44 2006
New Revision: 426451
URL: http://svn.apache.org/viewvc?rev=426451&view=rev
Log:
Fixed LinkRewriter URL handling
Modified:
lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java?rev=426451&r1=426450&r2=426451&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java Fri Jul 28 02:23:44 2006
@@ -188,8 +188,8 @@
* @return A boolean value.
*/
protected boolean matches(Document targetDocument, Document originalTargetDocument) {
- String matchString = originalTargetDocument.getId() + "/";
- String testString = targetDocument.getId() + "/";
+ String matchString = originalTargetDocument.getPath() + "/";
+ String testString = targetDocument.getPath() + "/";
return testString.startsWith(matchString);
}
@@ -202,21 +202,26 @@
*/
protected String getNewTargetURL(Document targetDocument, Document originalTargetDocument,
Document newTargetDocument) {
- String originalId = originalTargetDocument.getId();
- String targetId = targetDocument.getId();
+ String originalId = originalTargetDocument.getPath();
+ String targetId = targetDocument.getPath();
String childString = targetId.substring(originalId.length());
-
+
ServiceSelector selector = null;
DocumentBuilder builder = null;
try {
selector = (ServiceSelector) this.manager.lookup(DocumentBuilder.ROLE + "Selector");
builder = (DocumentBuilder) selector.select(originalTargetDocument.getPublication()
.getDocumentBuilderHint());
-
+
DocumentLocator locator = newTargetDocument.getLocator();
- DocumentLocator child = locator.getDescendant(childString);
- String newTargetUrl = builder.buildCanonicalUrl(child);
- return newTargetUrl;
+ DocumentLocator newLocator;
+ if (childString.length() == 0) {
+ newLocator = locator;
+ }
+ else {
+ newLocator = locator.getDescendant(childString);
+ }
+ return builder.buildCanonicalUrl(newLocator);
} catch (ServiceException e) {
throw new RuntimeException(e);
} finally {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org