Wicket debug bar with nowicket

10 views
Skip to first unread message

Mario Giammarco

unread,
Mar 29, 2018, 5:38:21 AM3/29/18
to invesdwin-platform
Hello,
I have set wicket configuration mode as deplyment.
I have also set         getDebugSettings().setAjaxDebugModeEnabled(false);
to remove the ajax debug button but the wicket debug bar stays on.
Do I need to set also something in NoWicket do disable wicket debug mode?
Thanks,
Mario

Edwin Stang

unread,
Mar 29, 2018, 4:02:50 PM3/29/18
to invesdwin-platform
In your web.xml you still have:

<init-param>
            <!-- enable production error-pages with "deployment" -->
            <param-name>configuration</param-name>
            <param-value>development</param-value>
        </init-param>

please delete that so that you can control the configuration mode from java.

Edwin Stang

unread,
Mar 29, 2018, 4:09:43 PM3/29/18
to invesdwin-platform
Also when looking at the wicket base WebApplication class, setting the configuration mode in the init() method override is too late, since it already gets referenced in the internalInit() which gets called before your init method.

So either use a static initializer that sets a system property like this for example (taken from invesdwin-context-client-nowicket):

static {
        final SystemProperties systemProperties = new SystemProperties();
        final String keyWicketConfiguration = "wicket." + CONFIGURATION;
        if (!systemProperties.containsKey(keyWicketConfiguration)) {
            final String wicketConfiguration;
            if (!ContextProperties.IS_TEST_ENVIRONMENT) {
                wicketConfiguration = RuntimeConfigurationType.DEPLOYMENT.toString();
            } else {
                wicketConfiguration = RuntimeConfigurationType.DEVELOPMENT.toString();
            }
            systemProperties.setString(keyWicketConfiguration, wicketConfiguration);
        }
    }


Or use the web.xml value as already done. Or call setConfigurationMode(...) in the constructor of your WebApplication. You can debug inside internalInit() from base base class if the setting is detected properly.

Calling "getDebugSettings().setAjaxDebugModeEnabled(false);" is not needed. Also NoWicket does not modify anything regarding that setting. It only uses it to do some more or less optimizations depending on which setting was chosen by your application.
Reply all
Reply to author
Forward
0 new messages