You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2008/03/28 10:45:16 UTC
svn commit: r642168 - in /incubator/sling/trunk/jcr/resource/src:
main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java
test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java
Author: fmeschbe
Date: Fri Mar 28 02:45:14 2008
New Revision: 642168
URL: http://svn.apache.org/viewvc?rev=642168&view=rev
Log:
SLING-344 Always create a StarResource if the request path info
contains /*. or ends with /* regardless of the request method and
extend the unit tests to reflect this change
Modified:
incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java
incubator/sling/trunk/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java
Modified: incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java?rev=642168&r1=642167&r2=642168&view=diff
==============================================================================
--- incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java (original)
+++ incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java Fri Mar 28 02:45:14 2008
@@ -47,7 +47,8 @@
/** True if a StarResource should be used for the given request, if
* a real Resource was not found */
public static boolean appliesTo(HttpServletRequest request) {
- return "GET".equals(request.getMethod()) && request.getPathInfo().contains(PATH_PATTERN);
+ String path = request.getPathInfo();
+ return path.contains(PATH_PATTERN) || path.endsWith(PATH_CLEAN_SUFFIX);
}
/**
Modified: incubator/sling/trunk/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java?rev=642168&r1=642167&r2=642168&view=diff
==============================================================================
--- incubator/sling/trunk/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java (original)
+++ incubator/sling/trunk/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java Fri Mar 28 02:45:14 2008
@@ -39,6 +39,7 @@
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.commons.testing.jcr.RepositoryTestBase;
import org.apache.sling.jcr.resource.JcrResourceConstants;
+import org.apache.sling.jcr.resource.JcrResourceUtil;
import org.apache.sling.jcr.resource.internal.helper.Mapping;
import org.apache.sling.jcr.resource.internal.helper.starresource.StarResource;
@@ -167,22 +168,6 @@
}
}
- public void testStarResource() throws Exception {
- final String path = rootPath + "/" + System.currentTimeMillis() + "/*.html";
-
- {
- final Resource res = resResolver.resolve(new ResourceResolverTestRequest(path, "GET"));
- assertNotNull(res);
- assertEquals(StarResource.class.getName(), res.getClass().getName());
- assertEquals(StarResource.DEFAULT_RESOURCE_TYPE, res.getResourceType());
- }
-
- {
- final Resource res = resResolver.resolve(new ResourceResolverTestRequest(path, "POST"));
- assertEquals(NonExistingResource.class.getName(), res.getClass().getName());
- }
- }
-
public void testGetRemovesExtensionInResolution() throws Exception {
final String path = rootPath + ".whatever";
final Resource res = resResolver.resolve(new ResourceResolverTestRequest(
@@ -193,6 +178,38 @@
res.getResourceType());
}
+ public void testStarResourcePlain() throws Exception {
+ final String path = rootPath + "/" + System.currentTimeMillis() + "/*";
+ testStarResourceHelper(path, "GET");
+ testStarResourceHelper(path, "POST");
+ testStarResourceHelper(path, "PUT");
+ testStarResourceHelper(path, "DELETE");
+ }
+
+ public void testStarResourceExtension() throws Exception {
+ final String path = rootPath + "/" + System.currentTimeMillis() + "/*.html";
+ testStarResourceHelper(path, "GET");
+ testStarResourceHelper(path, "POST");
+ testStarResourceHelper(path, "PUT");
+ testStarResourceHelper(path, "DELETE");
+ }
+
+ public void testStarResourceSelectorExtension() throws Exception {
+ final String path = rootPath + "/" + System.currentTimeMillis() + "/*.print.a4.html";
+ testStarResourceHelper(path, "GET");
+ testStarResourceHelper(path, "POST");
+ testStarResourceHelper(path, "PUT");
+ testStarResourceHelper(path, "DELETE");
+ }
+
+ private void testStarResourceHelper(final String path, final String method) {
+ final Resource res = resResolver.resolve(new ResourceResolverTestRequest(path, method));
+ assertNotNull(res);
+ assertTrue(JcrResourceUtil.isStarResource(res));
+ assertEquals(StarResource.class.getName(), res.getClass().getName());
+ assertEquals(StarResource.DEFAULT_RESOURCE_TYPE, res.getResourceType());
+ }
+
private static class ResourceResolverTestRequest implements
HttpServletRequest {