Author: dashorst
Date: Tue Jul 19 13:34:00 2011
New Revision: 1148313
URL: http://svn.apache.org/viewvc?rev=1148313&view=rev
Log:
Fixes WICKET-3918
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java?rev=1148313&r1=1148312&r2=1148313&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java
Tue Jul 19 13:34:00 2011
@@ -33,6 +33,8 @@ import org.apache.wicket.request.resourc
import org.apache.wicket.util.IProvider;
import org.apache.wicket.util.lang.WicketObjects;
import org.apache.wicket.util.string.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Generic {@link ResourceReference} encoder that encodes and decodes
non-mounted
@@ -53,6 +55,8 @@ import org.apache.wicket.util.string.Str
*/
class BasicResourceReferenceMapper extends AbstractResourceReferenceMapper
{
+ private static final Logger log =
LoggerFactory.getLogger(BasicResourceReferenceMapper.class);
+
private final IPageParametersEncoder pageParametersEncoder;
/** resource caching strategy */
@@ -100,8 +104,11 @@ class BasicResourceReferenceMapper exten
segment = resourceUrl.getFileName();
if (Strings.isEmpty(segment))
- throw new NullPointerException(
- "caching strategy must
not return an empty filename");
+ {
+ log.debug("Caching strategy {}
returned an empty name, not mapping {}",
+
getCachingStrategy().getClass(), url);
+ return null;
+ }
}
if (name.length() > 0)
{
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java?rev=1148313&r1=1148312&r2=1148313&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java
Tue Jul 19 13:34:00 2011
@@ -438,18 +438,18 @@ public class BasicResourceReferenceMappe
}
};
- final PackageResourceReference reference =
- new PackageResourceReference(getClass(), "versioned",
Locale.ENGLISH, "style", null)
+ final PackageResourceReference reference = new
PackageResourceReference(getClass(),
+ "versioned", Locale.ENGLISH, "style", null)
+ {
+ @Override
+ public IResource getResource()
{
- @Override
- public IResource getResource()
- {
- return resource;
- }
- };
+ return resource;
+ }
+ };
- IResourceCachingStrategy strategy =
- new
FilenameWithVersionResourceCachingStrategy("-version-", new
StaticResourceVersion("foobar"));
+ IResourceCachingStrategy strategy = new
FilenameWithVersionResourceCachingStrategy(
+ "-version-", new StaticResourceVersion("foobar"));
INamedParameters params = new PageParameters();
ResourceUrl url = new ResourceUrl("test.js", params);
@@ -464,10 +464,10 @@ public class BasicResourceReferenceMappe
strategy.undecorateUrl(url);
assertEquals("test", url.getFileName());
- // this behavior is o.k. since a browser could request an
+ // this behavior is o.k. since a browser could request an
// previous version of the resource. for example we
// could first have 'test-alpha.txt' which would be later
replaced
- // by 'test-beta.txt' but in any case will point to
+ // by 'test-beta.txt' but in any case will point to
// internal resource 'test.txt'
url = new ResourceUrl("test-version-older.txt", params);
strategy.undecorateUrl(url);
@@ -489,9 +489,20 @@ public class BasicResourceReferenceMappe
assertEquals("test.txt", url.getFileName());
// check a version that contains a dot which also marks the
filename extension
- strategy = new
FilenameWithVersionResourceCachingStrategy("-version-", new
StaticResourceVersion("1.0.4-beta"));
+ strategy = new
FilenameWithVersionResourceCachingStrategy("-version-",
+ new StaticResourceVersion("1.0.4-beta"));
url = new ResourceUrl("test.txt", params);
strategy.decorateUrl(url, reference);
assertEquals("test-version-1.0.4-beta.txt", url.getFileName());
}
+
+ /**
+ * Tests <a
href="https://issues.apache.org/jira/browse/WICKET-3918">WICKET-3918</a>.
+ */
+ public void testWicket3918()
+ {
+ Url url =
Url.parse("wicket/resource/org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow/res/");
+ IRequestHandler handler = encoder.mapRequest(getRequest(url));
+ assertNull(handler);
+ }
}