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 [EMAIL PROTECTED] 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.