package org.jboss.resteasy.test.resource.basic.resource; import org.junit.Assert; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.core.Context; import javax.ws.rs.core.PathSegment; import javax.ws.rs.core.UriInfo; import java.util.List; @Path("/{a}/{b}") public class UriInfoEncodedTemplateResource { private static final String ERROR_MSG = "Wrong parameter"; @GET public String doGet(@PathParam("a") String a, @PathParam("b") String b, @Context UriInfo info) { Assert.assertEquals(ERROR_MSG, "a b", a); Assert.assertEquals(ERROR_MSG, "x y", b); Assert.assertEquals(ERROR_MSG, "a b", info.getPathParameters().getFirst("a")); Assert.assertEquals(ERROR_MSG, "x y", info.getPathParameters().getFirst("b")); Assert.assertEquals(ERROR_MSG, "a%20b", info.getPathParameters(false).getFirst("a")); Assert.assertEquals(ERROR_MSG, "x%20y", info.getPathParameters(false).getFirst("b")); List<PathSegment> decoded = info.getPathSegments(true); Assert.assertEquals(ERROR_MSG, decoded.size(), 2); Assert.assertEquals(ERROR_MSG, "a b", decoded.get(0).getPath()); Assert.assertEquals(ERROR_MSG, "x y", decoded.get(1).getPath()); List<PathSegment> encoded = info.getPathSegments(false); Assert.assertEquals(ERROR_MSG, encoded.size(), 2); Assert.assertEquals(ERROR_MSG, "a%20b", encoded.get(0).getPath()); Assert.assertEquals(ERROR_MSG, "x%20y", encoded.get(1).getPath()); return "content"; } }