Author: andreas
Date: Wed Dec 12 02:01:58 2007
New Revision: 603529
URL: http://svn.apache.org/viewvc?rev=603529&view=rev
Log:
LinkConverter: if srcPub != destPub, convert URLs to destPub URLs before url2uuid conversion.
Modified:
lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/LinkConverter.java
Modified: lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/LinkConverter.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/LinkConverter.java?rev=603529&r1=603528&r2=603529&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/LinkConverter.java (original)
+++ lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/LinkConverter.java Wed Dec 12 02:01:58 2007
@@ -82,7 +82,8 @@
"Convert links: No XPaths for resource type [" + type.getName() + "]");
}
} else {
- LinkRewriter incomingRewriter = new IncomingLinkRewriter(examinedDocument.getPublication());
+ Publication pub = examinedDocument.getPublication();
+ LinkRewriter incomingRewriter = new IncomingLinkRewriter(pub);
LinkRewriter urlToUuidRewriter = new UrlToUuidRewriter(examinedDocument.area());
org.w3c.dom.Document xml = DocumentHelper.readDocument(examinedDocument
@@ -106,17 +107,20 @@
getLogger().debug("Convert links: Check URL [" + url + "]");
}
final String originalUrl = url.startsWith(prefix) ? url.substring(prefix.length()) : url;
- final String webappUrl;
+ final String srcPubUrl;
if (incomingRewriter.matches(originalUrl)) {
- webappUrl = incomingRewriter.rewrite(originalUrl);
+ srcPubUrl = incomingRewriter.rewrite(originalUrl);
} else {
- webappUrl = originalUrl;
+ srcPubUrl = originalUrl;
}
-
- if (urlToUuidRewriter.matches(webappUrl)) {
- String rewrittenUrl = urlToUuidRewriter.rewrite(webappUrl);
- attribute.setValue(rewrittenUrl);
- linksRewritten = true;
+ final String srcPubPrefix = "/" + srcPub.getId() + "/";
+ if (srcPubUrl.startsWith(srcPubPrefix)) {
+ final String destPubUrl = "/" + pub.getId() + "/" + srcPubUrl.substring(srcPubPrefix.length());
+ if (urlToUuidRewriter.matches(destPubUrl)) {
+ String rewrittenUrl = urlToUuidRewriter.rewrite(destPubUrl);
+ attribute.setValue(rewrittenUrl);
+ linksRewritten = true;
+ }
}
}
}
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.