Hi Geoff,
Thanks. I wish java.net were using Jira!
Paul.
On Nov 2, 2009, at 7:14 PM, Geoff hendrey wrote:
> Hi Paul,
>
> I found a good description of the current behavior here: http://n2.nabble.com/PathSegment-and-MatrixParam-confusion-td1572432.html
>
> For my needs, I get the Matrix Parameter from the PathSegment as an
> injected class-level property.
>
> @PathParam("tbl") protected PathSegment tblPathParam;
>
> I than manually pass this PathSegement on to subresources by setters
> or constructor arguments on the sub-resource so they can have access
> to the matrix parameters of their "parent" resources, as needed.
>
> I will log a Jira issue per your suggested behavior, below.
>
> Thanks,
> geoff
>
> --
> http://nextdb.net - RESTful Relational Database
> http://www.nextdb.net/wiki/en/REST
>
>
> --- On Mon, 11/2/09, Paul Sandoz <Paul.Sandoz_at_Sun.COM> wrote:
>
> From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
> Subject: Re: [Jersey] Matrix Parameter question
> To: users_at_jersey.dev.java.net
> Date: Monday, November 2, 2009, 1:35 AM
>
> Hi Geoffrey,
>
> Unfortunately only the matrix parameters that are at the end of the
> URI path can be bound to @MatrixParam.
>
> The case of the end "/" looks like a bug. What version of Jersey are
> you using?
>
>
> All matrix parameters are available from the UriInfo.getPathSegments:
>
> https://jsr311.dev.java.net/nonav/javadoc/javax/ws/rs/core/UriInfo.html
> #getPathSegments%28%29
>
> If you want to get access to the map of matrix parameters you can
> identify the path segment as parameter:
>
> @Path("{id: X}") // Use a regex that maps the literal character 'X'
> public class X {
> public X(@PathParam("id") PathSegment ps) {
> MultivaluedMap<String, String> mps = ps.getMatrixParameters();
> ...
> }
> }
>
>
> I think what we are missing from JAX-RS is the following:
>
> 1) The ability to get the current path segment or segments
> associated with the resource; and
>
> 2) a qualifier on @MatrixParam to declare that the matrix parameter
> is associated with the current path segment
> (or the last path segment in the current set).
>
> Could you log a feature?
>
> Paul.
>
>
> On Nov 2, 2009, at 3:09 AM, geoffrey hendrey wrote:
>
> > Hi,
> >
> > I've got a resource class, call it X, on an arbitrary path.
> >
> > .../X
> >
> > If I pass a URL matrix parameter to Resource X as follows, the
> matrix parameter is properly injected into class X
> > .../X;a=hello
> >
> > However, if I add so much as a trailing slash to the path, then I
> don't receive the injected matrix parameter. E.g., this doesn't work:
> >
> > .../X;a=hello/
> >
> > and this doesn't work either
> >
> > .../X;a=hello/b/c/d
> >
> > Everything I have read indicates that I should be able to receive
> parameter "a". Any ideas on what might cause this to fail?
> >
> > -geoff
> >
> > --http:nextdb.net - RESTful Relational Database
> > http://www.nextdb.net/wiki/en/REST
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>