You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2008/11/26 20:13:44 UTC
svn commit: r720949 - in
/wicket/trunk/wicket/src/main/java/org/apache/wicket:
protocol/http/request/ request/target/coding/ util/string/
Author: ivaynberg
Date: Wed Nov 26 11:13:44 2008
New Revision: 720949
URL: http://svn.apache.org/viewvc?rev=720949&view=rev
Log:
WICKET-1920
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/string/Strings.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java?rev=720949&r1=720948&r2=720949&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java Wed Nov 26 11:13:44 2008
@@ -1083,7 +1083,7 @@
if (path.startsWith(key))
{
IRequestTargetUrlCodingStrategy strategy = entry.getValue();
- if (strategy.matches(path))
+ if (strategy.matches(path, caseSensitiveMounts))
{
return strategy;
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java?rev=720949&r1=720948&r2=720949&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java Wed Nov 26 11:13:44 2008
@@ -251,11 +251,14 @@
* not /mount/pointXXX.
*
* @param path
+ * @param caseSensitive
+ * whether the strategy should treat <code>path</code> argument with case sensitivity
+ * or not
* @return true if matches, false otherwise
*/
- public boolean matches(String path)
+ public boolean matches(String path, boolean caseSensitive)
{
- if (path.startsWith(mountPath))
+ if (Strings.startsWith(path, mountPath, caseSensitive))
{
/*
* We need to match /mount/point or /mount/point/with/extra/path, but not
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java?rev=720949&r1=720948&r2=720949&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java Wed Nov 26 11:13:44 2008
@@ -75,12 +75,12 @@
boolean redirectOnBookmarkableRequest)
{
super(mountPath);
-
+
if (mountPath.endsWith("/"))
{
throw new IllegalArgumentException("mountPath can not end with a '/': " + mountPath);
}
-
+
pageClassRef = new WeakReference(pageClass);
this.redirectOnBookmarkableRequest = redirectOnBookmarkableRequest;
}
@@ -280,7 +280,7 @@
{
ListenerInterfaceRequestTarget target = (ListenerInterfaceRequestTarget)requestTarget;
Page page = target.getPage();
- return (Integer)page.getMetaData(ORIGINAL_TRAILING_SLASHES_COUNT_METADATA_KEY);
+ return page.getMetaData(ORIGINAL_TRAILING_SLASHES_COUNT_METADATA_KEY);
}
return null;
}
@@ -361,7 +361,7 @@
*/
public static PageParameters getInitialPagePageParameters(Page page)
{
- return (PageParameters)page.getMetaData(PAGE_PARAMETERS_META_DATA_KEY);
+ return page.getMetaData(PAGE_PARAMETERS_META_DATA_KEY);
}
/**
@@ -882,7 +882,7 @@
* @see org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy#matches(java.lang.String)
*/
@Override
- public boolean matches(String path)
+ public boolean matches(String path, boolean caseSensitive)
{
RequestCycle rc = RequestCycle.get();
@@ -894,7 +894,7 @@
return false;
}
- if (path.startsWith(getMountPath()))
+ if (Strings.startsWith(path, getMountPath(), caseSensitive))
{
/*
* We need to match /mount/point or /mount/point/with/extra/path, but not
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java?rev=720949&r1=720948&r2=720949&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java Wed Nov 26 11:13:44 2008
@@ -68,7 +68,10 @@
* Returns true if this mounter is applicable for the URL path
*
* @param path
- * @return
+ * @param caseSensitive
+ * whether the strategy should treat <code>path</code> argument with case sensitivity
+ * or not
+ * @return true if this strategy matches the path
*/
- boolean matches(String path);
+ boolean matches(String path, boolean caseSensitive);
}
\ No newline at end of file
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/util/string/Strings.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/string/Strings.java?rev=720949&r1=720948&r2=720949&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/util/string/Strings.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/util/string/Strings.java Wed Nov 26 11:13:44 2008
@@ -1375,6 +1375,25 @@
}
+ /**
+ * Extended {@link String#startsWith(String)} with support for case sensitivity
+ *
+ * @param str
+ * @param prefix
+ * @param caseSensitive
+ * @return <code>true</code> if <code>str</code> starts with <code>prefix</code>
+ */
+ public static boolean startsWith(String str, String prefix, boolean caseSensitive)
+ {
+ if (caseSensitive)
+ {
+ return str.startsWith(prefix);
+ }
+ else
+ {
+ return str.toLowerCase().startsWith(prefix.toLowerCase());
+ }
+ }
/**
* Private constructor prevents construction.