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 2007/12/12 11:01:59 UTC

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

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;
+                            }
                         }
                     }
                 }



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