You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by im...@apache.org on 2008/04/07 20:09:11 UTC
svn commit: r645635 - in /myfaces/orchestra/trunk/core/src:
main/java/org/apache/myfaces/orchestra/requestParameterProvider/
test/java/org/apache/myfaces/orchestra/requestParameterProvider/
Author: imario
Date: Mon Apr 7 11:09:10 2008
New Revision: 645635
URL: http://svn.apache.org/viewvc?rev=645635&view=rev
Log:
ORCHESTRA-21: do not add parameters to non http* urls
Modified:
myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/requestParameterProvider/RequestParameterProviderManager.java
myfaces/orchestra/trunk/core/src/test/java/org/apache/myfaces/orchestra/requestParameterProvider/TestRequestParameterProviderManager.java
Modified: myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/requestParameterProvider/RequestParameterProviderManager.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/requestParameterProvider/RequestParameterProviderManager.java?rev=645635&r1=645634&r2=645635&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/requestParameterProvider/RequestParameterProviderManager.java (original)
+++ myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/requestParameterProvider/RequestParameterProviderManager.java Mon Apr 7 11:09:10 2008
@@ -50,6 +50,9 @@
private final Log LOG = LogFactory.getLog(RequestParameterProviderManager.class);
private static final String PAGE_LINK_SEP = "#";
+
+ private static final String SCHEME_HTTP = "http";
+
private static final String PAGE_PARAMETER_SEP = "?";
private static final String PARAMETER_SEP = "&";
private static final String PARAMETER_PROVIDER_MANAGER_KEY = RequestParameterProviderManager.class.getName();
@@ -116,6 +119,13 @@
if (PAGE_LINK_SEP.equals(url))
{
// just an inner page link, ignore
+ return url;
+ }
+
+ if (url.length() < SCHEME_HTTP.length()
+ || !url.substring(0,SCHEME_HTTP.length()).equalsIgnoreCase(SCHEME_HTTP))
+ {
+ // not http (or https, we just check for http, https would match that too)
return url;
}
Modified: myfaces/orchestra/trunk/core/src/test/java/org/apache/myfaces/orchestra/requestParameterProvider/TestRequestParameterProviderManager.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core/src/test/java/org/apache/myfaces/orchestra/requestParameterProvider/TestRequestParameterProviderManager.java?rev=645635&r1=645634&r2=645635&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core/src/test/java/org/apache/myfaces/orchestra/requestParameterProvider/TestRequestParameterProviderManager.java (original)
+++ myfaces/orchestra/trunk/core/src/test/java/org/apache/myfaces/orchestra/requestParameterProvider/TestRequestParameterProviderManager.java Mon Apr 7 11:09:10 2008
@@ -51,6 +51,7 @@
assertEquals("http://domain/path?FIELD=VALUE#", man.encodeAndAttachParameters("http://domain/path#"));
assertEquals("http://domain/path?FIELD=VALUE#22", man.encodeAndAttachParameters("http://domain/path#22"));
assertEquals("http://domain/path?ab=cd&FIELD=VALUE#22", man.encodeAndAttachParameters("http://domain/path?ab=cd#22"));
+ assertEquals("javascript:anyMethod(anyUrl)", man.encodeAndAttachParameters("javascript:anyMethod(anyUrl)"));
assertEquals("#", man.encodeAndAttachParameters("#"));
}
}