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

Jim Krueger updated CXF-8278:
-----------------------------
    Description: 
Currently the constructor for org.apache.cxf.jaxrs.model.URITemplate adds 
parentheses around the regex pattern.  However, if a user specifies a regex 
already containing parentheses then the URITemplate constructor will add 
additional parenthesis around the regex pattern.   This will result in the  
Regex expression as being a group within another group and will cause the 
Matcher returned from Pattern.matcher() to contain duplicate values for this 
regex pattern.  As a result, the number of values will not match the number of 
variables. 

The URITemplate constructor should be changed to only add parentheses if they 
do not already exist.

  was:
Currently the constructor for org.apache.cxf.jaxrs.model.URITemplate adds 
parentheses around the regex pattern.  However, if a user specifies a regex 
already containing parentheses (for example:  @Path("/{example : 
([0-9a-f]{4}|[0-9a-f]{_8}_)}/test/\{file}_")then the URITemplate constructor 
will add additional parenthesis around the pattern for the "example" field.   
This will result in the  Regex expression as being a group within another group 
and will cause the Matcher returned from Pattern.matcher() to contain duplicate 
values for this regex pattern.  As a result, the values will not match the 
values. 

The URITemplate constructor should be changed to only add parentheses if they 
do not already exist.


> @Path with regular expression containing parentheses does not resolve 
> correctly
> -------------------------------------------------------------------------------
>
>                 Key: CXF-8278
>                 URL: https://issues.apache.org/jira/browse/CXF-8278
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.3.6
>            Reporter: Jim Krueger
>            Priority: Major
>             Fix For: 3.3.6
>
>
> Currently the constructor for org.apache.cxf.jaxrs.model.URITemplate adds 
> parentheses around the regex pattern.  However, if a user specifies a regex 
> already containing parentheses then the URITemplate constructor will add 
> additional parenthesis around the regex pattern.   This will result in the  
> Regex expression as being a group within another group and will cause the 
> Matcher returned from Pattern.matcher() to contain duplicate values for this 
> regex pattern.  As a result, the number of values will not match the number 
> of variables. 
> The URITemplate constructor should be changed to only add parentheses if they 
> do not already exist.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to