[ 
https://issues.apache.org/jira/browse/WINK-264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12851913#action_12851913
 ] 

Shay Tsadok commented on WINK-264:
----------------------------------

It fixed my problem, Thanks!

> Problem to construct a link using the LinkBuilders for a resource with a path 
> param that contains ":"
> -----------------------------------------------------------------------------------------------------
>
>                 Key: WINK-264
>                 URL: https://issues.apache.org/jira/browse/WINK-264
>             Project: Wink
>          Issue Type: Bug
>          Components: Server
>    Affects Versions: 1.1
>            Reporter: Shay Tsadok
>            Assignee: Jesse Ramos
>
> +Assuming we got a resource "MyResource" with the path template:+
> {noformat}"/myResource/{entity_id: [0-9]+}"{noformat}
> +When coming to use the LinkBuilders and build a link for this resource (code 
> example):+
> {code}
> @Context
> private LinkBuilders linkBuilders;
> linkBuilders.createSingleLinkBuilder().resource(myResource).pathParam("entity_id","3").rel("myRel").build(syndLinks);
> {code}
> +We will get the exception:+
> {noformat}
> java.lang.IllegalArgumentException: Syntax error: '/myResource/{entity_id:/' 
> contains invalid template form
>       at 
> org.apache.wink.common.internal.uritemplate.UriTemplateProcessor$Literal.assertValid(UriTemplateProcessor.java:379)
>       at 
> org.apache.wink.common.internal.uritemplate.UriTemplateProcessor$Literal.<init>(UriTemplateProcessor.java:368)
>       at 
> org.apache.wink.common.internal.uritemplate.UriTemplateProcessor$AbstractPatternBuilder.literal(UriTemplateProcessor.java:601)
>       at 
> org.apache.wink.common.internal.uritemplate.JaxRsUriTemplateProcessor$JaxRsPatternBuilder.literal(JaxRsUriTemplateProcessor.java:239)
>       at 
> org.apache.wink.common.internal.uritemplate.UriTemplateProcessor$AbstractPatternBuilder.endCompile(UriTemplateProcessor.java:609)
>       at 
> org.apache.wink.common.internal.uritemplate.JaxRsUriTemplateProcessor.compile(JaxRsUriTemplateProcessor.java:138)
>       at 
> org.apache.wink.common.internal.uritemplate.JaxRsUriTemplateProcessor.compile(JaxRsUriTemplateProcessor.java:92)
>       at 
> org.apache.wink.common.internal.uritemplate.JaxRsUriTemplateProcessor.<init>(JaxRsUriTemplateProcessor.java:81)
>       at 
> org.apache.wink.common.internal.UriBuilderImpl.getVariableNamesList(UriBuilderImpl.java:144)
>       at 
> org.apache.wink.common.internal.UriBuilderImpl.buildFromMap(UriBuilderImpl.java:402)
>       at 
> org.apache.wink.common.internal.UriBuilderImpl.buildFromEncodedMap(UriBuilderImpl.java:394)
>       at 
> org.apache.wink.server.internal.utils.SingleLinkBuilderImpl.build(SingleLinkBuilderImpl.java:86)
>       at 
> org.apache.wink.server.internal.utils.SingleLinkBuilderImpl.build(SingleLinkBuilderImpl.java:76)
>       at...
> {noformat}
> After debugging the framework I found out that *the core problem is in 
> UrlBuilderImpl.path(String path)*.
> This method tries to extract the schema from the path (although that in the 
> above case the path is relative), and that's by looking for ":", in the case 
> above we've got the *":"* but as part of the "path param" and not as the 
> schema delimiter...

-- 
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