package org.jboss.resteasy.test.resource.path.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.PathSegment; @Path("/") public class MultipleMatrixSegmentsResource { private static final String ERROR_MESSAGE = "Wrong request data"; @GET @Path("/{parent:.*}/children/{child:.*}") public String get(@PathParam("parent") PathSegment parent, @PathParam("child") PathSegment child) { Assert.assertEquals(ERROR_MESSAGE, "bill", parent.getMatrixParameters().getFirst("name")); Assert.assertEquals(ERROR_MESSAGE, "111", parent.getMatrixParameters().getFirst("ssn")); Assert.assertEquals(ERROR_MESSAGE, "skippy", child.getMatrixParameters().getFirst("name")); Assert.assertEquals(ERROR_MESSAGE, "3344", child.getMatrixParameters().getFirst("ssn")); return "content"; } @GET @Path("/stuff/{segments:.*}/first") public String getFirst(@PathParam("segments") PathSegment[] segments) { Assert.assertNotNull(ERROR_MESSAGE, segments); Assert.assertEquals(ERROR_MESSAGE, segments.length, 2); Assert.assertEquals(ERROR_MESSAGE, segments[0].getMatrixParameters().getFirst("name"), "first"); Assert.assertEquals(ERROR_MESSAGE, segments[1].getMatrixParameters().getFirst("name"), "second"); return "stuff"; } }