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 2007/09/15 23:02:03 UTC
svn commit: r575979 -
/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
Author: ivaynberg
Date: Sat Sep 15 14:02:02 2007
New Revision: 575979
URL: http://svn.apache.org/viewvc?rev=575979&view=rev
Log:
WICKET-946: WebRequestCodingStrategy is not synchronized http://issues.apache.org/jira/browse/WICKET-946
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java?rev=575979&r1=575978&r2=575979&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java Sat Sep 15 14:02:02 2007
@@ -288,8 +288,11 @@
*/
public IRequestTargetUrlCodingStrategy[] listMounts()
{
- return (IRequestTargetUrlCodingStrategy[])mountsOnPath.strategies().toArray(
- new IRequestTargetUrlCodingStrategy[mountsOnPath.size()]);
+ synchronized(mountsOnPath)
+ {
+ return (IRequestTargetUrlCodingStrategy[])mountsOnPath.strategies().toArray(
+ new IRequestTargetUrlCodingStrategy[mountsOnPath.size()]);
+ }
}
/**
@@ -297,16 +300,19 @@
*/
public final IRequestTargetUrlCodingStrategy urlCodingStrategyForPath(String path)
{
- if (path == null)
+ synchronized(mountsOnPath)
{
- return mountsOnPath.strategyForMount(null);
- }
- else
- {
- IRequestTargetUrlCodingStrategy strategy = mountsOnPath.strategyForPath(path);
- if (strategy != null)
+ if (path == null)
+ {
+ return mountsOnPath.strategyForMount(null);
+ }
+ else
{
- return strategy;
+ IRequestTargetUrlCodingStrategy strategy = mountsOnPath.strategyForPath(path);
+ if (strategy != null)
+ {
+ return strategy;
+ }
}
}
return null;
@@ -342,12 +348,15 @@
path = path.substring(1);
}
- if (mountsOnPath.strategyForMount(path) != null)
+ synchronized(mountsOnPath)
{
- throw new WicketRuntimeException(path + " is already mounted for " +
- mountsOnPath.strategyForMount(path));
+ if (mountsOnPath.strategyForMount(path) != null)
+ {
+ throw new WicketRuntimeException(path + " is already mounted for " +
+ mountsOnPath.strategyForMount(path));
+ }
+ mountsOnPath.mount(path, encoder);
}
- mountsOnPath.mount(path, encoder);
}
/**
@@ -394,7 +403,10 @@
path = path.substring(1);
}
- mountsOnPath.unmount(path);
+ synchronized(mountsOnPath)
+ {
+ mountsOnPath.unmount(path);
+ }
}
/**
@@ -848,17 +860,19 @@
*/
protected IRequestTargetUrlCodingStrategy getMountEncoder(IRequestTarget requestTarget)
{
- // TODO Post 1.2: Performance: Optimize algorithm if possible and/ or
- // cache lookup results
- for (Iterator i = mountsOnPath.strategies().iterator(); i.hasNext();)
+ synchronized(mountsOnPath)
{
- IRequestTargetUrlCodingStrategy encoder = (IRequestTargetUrlCodingStrategy)i.next();
- if (encoder.matches(requestTarget))
+ // TODO Post 1.2: Performance: Optimize algorithm if possible and/ or
+ // cache lookup results
+ for (Iterator i = mountsOnPath.strategies().iterator(); i.hasNext();)
{
- return encoder;
+ IRequestTargetUrlCodingStrategy encoder = (IRequestTargetUrlCodingStrategy)i.next();
+ if (encoder.matches(requestTarget))
+ {
+ return encoder;
+ }
}
}
-
return null;
}