package org.jboss.resteasy.test.resource.basic.resource;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import org.junit.Assert;
public class ResourceLocatorSubresource {
@GET
public String doGet(@Context UriInfo uri) {
System.out.println("Uri Ancesstors for Subresource.doGet():");
List<String> matchedURIs = uri.getMatchedURIs();
Assert.assertEquals(2, matchedURIs.size());
Assert.assertEquals("base/1/resources", matchedURIs.get(0));
Assert.assertEquals("", matchedURIs.get(1));
for (String ancestor : matchedURIs) System.out.println(" " + ancestor);
System.out.println("Uri Ancesstors Object for Subresource.doGet():");
Assert.assertEquals(2, uri.getMatchedResources().size());
Assert.assertEquals(ResourceLocatorSubresource.class, uri.getMatchedResources().get(0).getClass());
Assert.assertEquals(ResourceLocatorBaseResource.class, uri.getMatchedResources().get(1).getClass());
for (Object ancestor : uri.getMatchedResources()) System.out.println(" " + ancestor.getClass().getName());
return this.getClass().getName();
}
@Path("/subresource2")
public Object getSubresource2(@Context UriInfo uri) {
System.out.println("Uri Ancesstors for Subresource.getSubresource2():");
List<String> matchedURIs = uri.getMatchedURIs();
Assert.assertEquals(3, matchedURIs.size());
Assert.assertEquals("base/1/resources/subresource2", matchedURIs.get(0));
Assert.assertEquals("base/1/resources", matchedURIs.get(1));
Assert.assertEquals("", matchedURIs.get(2));
for (String ancestor : matchedURIs) System.out.println(" " + ancestor);
System.out.println("Uri Ancesstors Object for Subresource.getSubresource2():");
Assert.assertEquals(2, uri.getMatchedResources().size());
Assert.assertEquals(ResourceLocatorSubresource.class, uri.getMatchedResources().get(0).getClass());
Assert.assertEquals(ResourceLocatorBaseResource.class, uri.getMatchedResources().get(1).getClass());
for (Object ancestor : uri.getMatchedResources()) System.out.println(" " + ancestor.getClass().getName());
return new ResourceLocatorSubresource2();
}
}