You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2010/12/06 23:35:10 UTC

[jira] Resolved: (CXF-3168) Usage of whitespace in @Path regular expressions raises service deployment errors

     [ https://issues.apache.org/jira/browse/CXF-3168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Beryozkin resolved CXF-3168.
-----------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.3.1)
                   2.4
                   2.3.2
         Assignee: Sergey Beryozkin

> Usage of whitespace in @Path regular expressions raises service deployment errors
> ---------------------------------------------------------------------------------
>
>                 Key: CXF-3168
>                 URL: https://issues.apache.org/jira/browse/CXF-3168
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.3.0
>            Reporter: Glen Mazza
>            Assignee: Sergey Beryozkin
>            Priority: Minor
>             Fix For: 2.3.2, 2.4
>
>
> See: http://www.corneliadavis.com/blog/index.php/tag/rest-cxf-regex/
> The following regular expression works fine (for an elephant maintenance system at a zoo):
> @Path("/{id:\\d+}")
> public Person getElephantSubresource(@PathParam("id") int id);
> However, placing spaces around the colon delimiter as follows:
> @Path("/{id : \\d+}")
> public Person getElephantSubresource(@PathParam("id") int id);
> ... causes these exceptions to occur at service deployment time:
> org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
> PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'serviceBeans' threw exception; nested exception is java.util.regex.PatternSyntaxException: Illegal repetition near index 0
> /{id : \d+}(/.*)?
> ^
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:22
> ....
> 	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: java.util.regex.PatternSyntaxException: Illegal repetition near index 0
> /{id : \d+}(/.*)?
> ^
> 	at java.util.regex.Pattern.error(Pattern.java:1713)
> 	at java.util.regex.Pattern.closure(Pattern.java:2775)
> 	at java.util.regex.Pattern.sequence(Pattern.java:1889)
> 	at java.util.regex.Pattern.expr(Pattern.java:1752)
> 	at java.util.regex.Pattern.compile(Pattern.java:1460)
> 	at java.util.regex.Pattern.<init>(Pattern.java:1133)
> 	at java.util.regex.Pattern.compile(Pattern.java:823)
> 	at org.apache.cxf.jaxrs.model.URITemplate.<init>(URITemplate.java:89)
> 	at org.apache.cxf.jaxrs.model.URITemplate.createTemplate(URITemplate.java:302)
> 	at org.apache.cxf.jaxrs.model.URITemplate.createTemplate(URITemplate.java:289)
> 	at org.apache.cxf.jaxrs.utils.ResourceUtils.createOperationInfo(ResourceUtils.java:328)
> 	at org.apache.cxf.jaxrs.utils.ResourceUtils.evaluateResourceClass(ResourceUtils.java:204)
> The version with spaces is as shown on page 47 of Bill Burke's RESTFul Java with JAX-RS book (O'Reilly).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.