Resource Locator's @PathParam resolution is not correct.
--------------------------------------------------------

                 Key: WINK-311
                 URL: https://issues.apache.org/jira/browse/WINK-311
             Project: Wink
          Issue Type: Bug
          Components: Server
    Affects Versions: 1.0
         Environment: Recreated with a JUnit test.
            Reporter: Kaloyan Kolev
            Priority: Critical


I have the following resource:
{code}
@Path("/root")
public static class TestApp {
        private String name;
        private TestApp child;

        @GET
        @Produces(MediaType.TEXT_PLAIN)
        public String getNextChild() {
                return child == null ? null : child.name;
        }

        @Path("{child}")
        public Object getChild(@PathParam("child") String c) {
                if (child != null && child.name.equals(c)) {
                        return child;
                        } else {
                                return new NotFound();
                        }
                }
        }
}

public static class NotFound {
        @GET
        public Response notFound() {
                return Response.status(Status.NOT_FOUND).build();
        }
}
{code}

Which is registered like this:
{code}
@Override
public Set<Object> getSingletons() {
        Set<Object> set = new HashSet<Object>();
        TestApp test1 = new TestApp("test1", new TestApp("level1", new 
TestApp("level2", new TestApp("level3", null))));
        set.add(test1);
        return set;
}
{code}

When I do GET: http://localhos/root/level1/level2/level3

I get 404 File Not Found. The reason for this is because the "c" variable 
passed on the getChild method is always "level1" when it should change to 
"level2", "level3" after each call to getChild. 

Let me know if anything else is needed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to