You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (JIRA)" <ji...@apache.org> on 2014/02/07 15:07:19 UTC

[jira] [Comment Edited] (WW-4285) ParametersInterceptor's isWithinLengthLimit method does not detect the devMode's value

    [ https://issues.apache.org/jira/browse/WW-4285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13894548#comment-13894548 ] 

Lukasz Lenart edited comment on WW-4285 at 2/7/14 2:07 PM:
-----------------------------------------------------------

It's not a debug message, it's a error message which logs by this method:
{code}
    protected void notifyDeveloper(Object action, String property, String message) {
        String developerNotification = LocalizedTextUtil.findText(ParametersInterceptor.class, "devmode.notification",
                ActionContext.getContext().getLocale(), "Developer Notification:\n{0}",
                new Object[]{
                        "Unexpected Exception caught setting '" + property + "' on '" + action.getClass() + ": " + message
                }
        );
        LOG.error(developerNotification);
        // see https://issues.apache.org/jira/browse/WW-4066
        if (action instanceof ValidationAware) {
            Collection<String> messages = ((ValidationAware) action).getActionMessages();
            messages.add(message);
            ((ValidationAware) action).setActionMessages(messages);
        }
    }
{code}
There are tow notifyDeveloper methods in ParametersInterceptor, the notifyDeveloper call by isWithinLengthLimit is not your mentioned method. Perhaps this bug's caused by the two ambiguous defined notifyDeveloper methods.



was (Author: greatrobert):
It's not a debug message, it's a error message which logs by this method:

    protected void notifyDeveloper(Object action, String property, String message) {
        String developerNotification = LocalizedTextUtil.findText(ParametersInterceptor.class, "devmode.notification",
                ActionContext.getContext().getLocale(), "Developer Notification:\n{0}",
                new Object[]{
                        "Unexpected Exception caught setting '" + property + "' on '" + action.getClass() + ": " + message
                }
        );
        LOG.error(developerNotification);
        // see https://issues.apache.org/jira/browse/WW-4066
        if (action instanceof ValidationAware) {
            Collection<String> messages = ((ValidationAware) action).getActionMessages();
            messages.add(message);
            ((ValidationAware) action).setActionMessages(messages);
        }
    }

There are tow notifyDeveloper methods in ParametersInterceptor, the notifyDeveloper call by isWithinLengthLimit is not your mentioned method. Perhaps this bug's caused by the two ambiguous defined notifyDeveloper methods.


> ParametersInterceptor's isWithinLengthLimit method does not detect the devMode's value
> --------------------------------------------------------------------------------------
>
>                 Key: WW-4285
>                 URL: https://issues.apache.org/jira/browse/WW-4285
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.3.16
>            Reporter: wangzhenghang
>            Assignee: Lukasz Lenart
>             Fix For: 2.3.17
>
>
> When the length of parameter name exceeds the paramNameMaxLength, notifyDeveloper method is invoked directly and devMode's value is ignored.
> So, this error log is printed as follow:
> [com.opensymphony.xwork2.interceptor.ParametersInterceptor] [Developer Notification (set struts.devMode to false to disable this message):
> Unexpected Exception caught setting '****' on 'class java.lang.String: 100]
>  



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)