Hi Branden,

2009/8/24  <[email protected]>:
>  ...it contradicts the documentation under "URL Decomposition" at
> http://sling.apache.org/site/sling-api.html, and even worse, makes my program
> less elegant! :) In the Sling API, the resource is said to not need an 
> extension
> to register as the located resource....

Could you have a look at the tests in [1], and see if they demonstrate
your problem?

If not I'd like to enhance them to clarify this.

-Bertrand

[1] 
http://svn.apache.org/repos/asf/sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/request/SlingRequestPathInfoTest.java
(just added a link to that class to sling-api.html BTW)



>
> Is this by design, or is this a bug?
>
> Thanks,
> ------------------------------------------
> Branden Visser
> LMS Application Programmer - Information Systems Services
> Information Technology Services
> University of Windsor
>
> -----Dominik Süß <[email protected]> wrote: -----
>
> To: [email protected], [email protected]
> From: Dominik Süß <[email protected]>
> Date: 08/24/2009 02:54PM
> Subject: Re: Script Resolution to non-existing resource
>
> Hi Branden,
>
> it might help you to have a look at:
> http://dev.day.com/microsling/content/blogs/main/cheatsheet.html
>
> There you can see how URLs are composed/decomposed. For your case
>
>  /content/portal/users/admin/pages/home/widgets/hello_world.html/widget.html
> might do the trick ;)
>
> HTH
> Best regards,
> Dominik
>
>  On Mon, Aug 24, 2009 at 8:46 PM, Branden Visser <[email protected]> wrote:
>
> Hi all,
>
>
> I'm trying to access a resource, then append a suffix to the URI. The problem 
> is that the GET servlet seems to be taking my full URI, and returning a 404, 
> even though there is a valid resource found in a substring of the URL. Here 
> is what I have:
>
>
>
> URI: /content/portal/users/admin/pages/home/widgets/hello_world/widget.html
>
>
> The idea is that /widget.html is the suffix (there is no 'widget' resource!), 
> and therefore Sling will attempt to execute hello_world.
>
>
> hello_world has sling:resourceType="portal/widgets/url/url", and the 
> following file exists: /apps/portal/widgets/url/url/GET.esp.
>
>
> However, when I hit the URI above, I get 404. My intention is to make GET.esp 
> create the resource "widget" below hello_world automatically if it does not 
> exist.
>
>
> From what I understand from the URL decomposition and resource resolution 
> [1], since /widget does not exist, hello_world should be the mapped resource, 
> while /widget.html is the suffix. Correct?
>
>
> Here is my request breakdown:
>
>
> 0 (2009-08-24 14:33:17) Starting Request Processing
>
>      0 (2009-08-24 14:33:17) Method=GET, 
> PathInfo=/content/portal/users/admin/pages/home/widgets/hello_world/widget.html
>
>      0 (2009-08-24 14:33:17) Starting ResourceResolution
>
>      9 (2009-08-24 14:33:17) 
> URI=/content/portal/users/admin/pages/home/widgets/hello_world/widget.html 
> resolves to Resource=NonExistingResource, 
> path=/content/portal/users/admin/pages/home/widgets/hello_world/widget.html, 
> elapsed = 9ms
>
>
>      9 (2009-08-24 14:33:17) Resource Path Info: SlingRequestPathInfo: 
> path='/content/portal/users/admin/pages/home/widgets/hello_world/widget.html',
>  selectorString='null', extension='null', suffix='null'
>
>
>      9 (2009-08-24 14:33:17) Starting ServletResolution
>
>      9 (2009-08-24 14:33:17) Starting resolveServlet(NonExistingResource, 
> path=/content/portal/users/admin/pages/home/widgets/hello_world/widget.html)
>
>      9 (2009-08-24 14:33:17) Using servlet 
> org.apache.sling.servlets.get.DefaultGetServlet, elapsed = 0ms
>
>      9 (2009-08-24 14:33:17) 
> URI=/content/portal/users/admin/pages/home/widgets/hello_world/widget.html 
> handled by Servlet=org.apache.sling.servlets.get.DefaultGetServlet, elapsed = 
> 0ms
>
>      9 (2009-08-24 14:33:17) Applying request filters
>
>      9 (2009-08-24 14:33:17) Calling filter: 
> org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter
>
>      9 (2009-08-24 14:33:17) Starting 
> org.apache.sling.servlets.get.DefaultGetServlet#0
>
>      9 (2009-08-24 14:33:17) 
> org.apache.sling.servlets.get.DefaultGetServlet#0, elapsed = 0ms
>
>     10 (2009-08-24 14:33:17) Starting handleError:status=404
>
>     10 (2009-08-24 14:33:17) Using handler Sling Default Error Handler 
> Servlet, elapsed = 0ms
>
>     10 (2009-08-24 14:33:17) Error handler finished, elapsed = 0ms
>
>
> It's clear that the GetServlet is using the full URI, and not attempting to 
> parse a suffix.
>
>
> Any ideas?
>
>
> Thanks,
>
>
> Branden
>
>
> [1] http://sling.apache.org/site/sling-api.html
>
>
>
>

Reply via email to