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("#"));
     }
 }