Hi Chris,

Thanks for pointing this out and feel free to register an issue.
Indeed all your comments are valid but instead of implementing them I
would rather switch to AcceptedPatternsChecker (the same as for
ParametersInterceptor) - frankly, I was sure I already did that :(

2014-12-16 22:43 GMT+01:00 Chris Pratt <thechrispr...@gmail.com>:
> Sorry, I'm sure this is getting annoying by now, but  It looks like the
> default and the override are handled differently.  The current code
> compiles the default case insensitive, but not the passed in pattern.
> Should that be consistent?
>
> private Pattern acceptedPattern =
> Pattern.compile(ACCEPTED_PATTERN,Pattern.CASE_INSENSITIVE);
>
> public void setAcceptCookieNames (String pattern) {
>   acceptedPattern = Pattern.compile(pattern);
> }
>
>
> On Tue Dec 16 2014 at 1:38:45 PM Chris Pratt <thechrispr...@gmail.com>
> wrote:
>
>> Oh, on another note, it would be ever so slightly more efficient to invert
>> the tests.  You are always testing both matches && LOG.isTraceEnabled() in
>> the current implementation, but there's no need to check matches if trace
>> isn't enabled.  So, maybe something like:
>>
>> /**
>>  * Checks if name of Cookie match {@link #acceptedPattern}
>>  *
>>  * @param name of Cookie
>>  * @return true|false
>>  */
>> protected boolean isAccepted(String name){
>>   boolean matches = acceptedPattern.matcher(name).matches();
>>
>>   if(LOG.isTraceEnabled()) {
>>     if(matches) {
>>
>>
>>       LOG.trace("Cookie [#0] matches acceptedPattern 
>> [#1]",name,acceptedPattern.pattern());
>>     } else {
>>
>>       LOG.trace("Cookie [#0] doesn't match acceptedPattern 
>> [#1]",name,acceptedPattern.pattern());
>>     }
>>   }
>>   return matches;
>> }
>>
>>
>> On Tue Dec 16 2014 at 1:28:38 PM Chris Pratt <thechrispr...@gmail.com>
>> wrote:
>>
>>> Sorry, I don't have an environment set up to create a patch, but I found
>>> an error in the isAccepted() method.  It currently looks like:
>>>
>>> /**
>>>  * Checks if name of Cookie match {@link #acceptedPattern}
>>>  *
>>>  * @param name of Cookie
>>>  * @return true|false
>>>  */
>>> protected boolean isAccepted(String name) {
>>>     boolean matches = acceptedPattern.matcher(name).matches();
>>>     if (matches) {
>>>         if (LOG.isTraceEnabled()) {
>>>             LOG.trace("Cookie [#0] matches acceptedPattern [#1]", name, 
>>> ACCEPTED_PATTERN);
>>>         }
>>>     } else {
>>>         if (LOG.isTraceEnabled()) {
>>>             LOG.trace("Cookie [#0] doesn't match acceptedPattern [#1]", 
>>> name, ACCEPTED_PATTERN);
>>>         }
>>>     }
>>>     return matches;
>>> }
>>>
>>>
>>> But it would be more useful if it actually reported the RegEx being used
>>> instead of the default.  So something more like:
>>>
>>> /**
>>>  * Checks if name of Cookie match {@link #acceptedPattern}
>>>  *
>>>  * @param name of Cookie
>>>  * @return true|false
>>>  */
>>> protected boolean isAccepted (String name) {
>>>   boolean matches = acceptedPattern.matcher(name).matches();
>>>   if(matches) {
>>>     if(LOG.isTraceEnabled()) {
>>>       LOG.trace("Cookie [#0] matches acceptedPattern 
>>> [#1]",name,acceptedPattern.pattern());
>>>     }
>>>   } else {
>>>     if(LOG.isTraceEnabled()) {
>>>       LOG.trace("Cookie [#0] doesn't match acceptedPattern 
>>> [#1]",name,acceptedPattern.pattern());
>>>     }
>>>   }
>>>   return matches;
>>> }
>>>
>>>   (*Chris*)
>>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
For additional commands, e-mail: dev-h...@struts.apache.org

Reply via email to