cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Glen Mazza (JIRA)" <j...@apache.org>
Subject [jira] Created: (CXF-3168) Usage of whitespace in @Path regular expressions raises service deployment errors
Date Mon, 06 Dec 2010 19:09:11 GMT
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
            Priority: Minor
             Fix For: 2.3.1


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.


Mime
View raw message