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/07/18 18:03:35 UTC
svn commit: r557308 -
/lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/OutgoingLinkRewriter.java
Author: andreas
Date: Wed Jul 18 09:03:34 2007
New Revision: 557308
URL: http://svn.apache.org/viewvc?view=rev&rev=557308
Log:
Normalize link URLs when rewriting them. This avoids problems with policy resolving.
Modified:
lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/OutgoingLinkRewriter.java
Modified: lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/OutgoingLinkRewriter.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/OutgoingLinkRewriter.java?view=diff&rev=557308&r1=557307&r2=557308
==============================================================================
--- lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/OutgoingLinkRewriter.java (original)
+++ lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/linking/OutgoingLinkRewriter.java Wed Jul 18 09:03:34 2007
@@ -17,6 +17,7 @@
*/
package org.apache.lenya.cms.linking;
+import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -113,32 +114,34 @@
return url.startsWith("/");
}
- public String rewrite(String url) {
+ public String rewrite(final String url) {
+
String rewrittenUrl = "";
try {
+ final String normalizedUrl = new URI(url).normalize().toString();
if (this.relativeUrls) {
- rewrittenUrl = getRelativeUrlTo(url);
+ rewrittenUrl = getRelativeUrlTo(normalizedUrl);
} else {
boolean useSsl = this.ssl;
if (!useSsl && this.policyManager != null) {
- Policy policy = this.policyManager.getPolicy(this.accreditableManager, url);
+ Policy policy = this.policyManager.getPolicy(this.accreditableManager, normalizedUrl);
useSsl = policy.isSSLProtected();
}
- URLInformation info = new URLInformation(url);
+ URLInformation info = new URLInformation(normalizedUrl);
String pubId = info.getPublicationId();
// link points to publication
if (pubId != null && isPublication(pubId)) {
Publication pub = this.factory.getPublication(pubId);
- rewrittenUrl = rewriteLink(url, pub, useSsl);
+ rewrittenUrl = rewriteLink(normalizedUrl, pub, useSsl);
}
// link doesn't point to publication
else {
Proxy proxy = getGlobalProxies().getProxy(ssl);
- rewrittenUrl = proxy.getUrl() + url;
+ rewrittenUrl = proxy.getUrl() + normalizedUrl;
}
}
} catch (Exception e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org