Example usage for org.apache.wicket.application CompoundClassResolver CompoundClassResolver

List of usage examples for org.apache.wicket.application CompoundClassResolver CompoundClassResolver

Introduction

In this page you can find the example usage for org.apache.wicket.application CompoundClassResolver CompoundClassResolver.

Prototype

CompoundClassResolver

Source Link

Usage

From source file:org.efaps.ui.wicket.EFapsApplication.java

License:Apache License

/**
 * @see org.apache.wicket.protocol.http.WebApplication#init()
 *//*w  w w  . jav a 2s  .c om*/
@Override
protected void init() {
    super.init();

    final String appKey = getInitParameter(AbstractFilter.INITPARAM_APP_KEY);
    final String loginRolesTmp = getInitParameter(AbstractFilter.INITPARAM_LOGIN_ROLES);
    final Set<UUID> temp = new HashSet<>();
    if (loginRolesTmp != null) {
        final String[] loginRolesAr = loginRolesTmp.split(",");
        for (final String loginRole : loginRolesAr) {
            temp.add(UUID.fromString(loginRole));
        }
    }
    AppAccessHandler.init(appKey, temp);

    final Map<String, String> map = new HashMap<>();
    for (final AppConfigHandler.Parameter param : AppConfigHandler.Parameter.values()) {
        final String configTmp = getInitParameter(param.getKey());
        if (configTmp != null) {
            map.put(param.getKey(), configTmp);
        }
    }
    if (!map.containsKey(AppConfigHandler.Parameter.TEMPFOLDER.getKey())) {
        map.put(AppConfigHandler.Parameter.TEMPFOLDER.getKey(),
                getStoreSettings().getFileStoreFolder().toURI().toString());
    }
    AppConfigHandler.init(map);

    getJavaScriptLibrarySettings().setJQueryReference(new DynamicJQueryResourceReference());

    getApplicationSettings().setPageExpiredErrorPage(LoginPage.class);
    getApplicationSettings().setInternalErrorPage(UnexpectedErrorPage.class);

    final CompoundClassResolver resolver = new CompoundClassResolver();
    resolver.add(new DefaultClassResolver());
    resolver.add(new AbstractClassResolver() {
        @Override
        public ClassLoader getClassLoader() {
            return EFapsClassLoader.getInstance();
        }

    });
    getApplicationSettings().setClassResolver(resolver);

    getApplicationSettings().setUploadProgressUpdatesEnabled(true);

    getDebugSettings().setAjaxDebugModeEnabled(false);
    getDebugSettings().setDevelopmentUtilitiesEnabled(false);

    setPageManagerProvider(new EFapsPageManagerProvider(this));
    getStoreSettings().setMaxSizePerSession(
            Bytes.megabytes(Configuration.getAttributeAsInteger(ConfigAttribute.STORE_MAXSIZEPERSESSION)));
    getStoreSettings()
            .setInmemoryCacheSize(Configuration.getAttributeAsInteger(ConfigAttribute.STORE_INMEMORYCACHE));

    getMarkupSettings().setStripWicketTags(true);
    getMarkupSettings().setStripComments(true);
    getMarkupSettings().setCompressWhitespace(true);
    getMarkupSettings().setAutomaticLinking(false);

    getRequestCycleSettings().setGatherExtendedBrowserInfo(true);
    getRequestCycleListeners().add(new EFapsRequestCycleListener());
    getRequestLoggerSettings().setRequestLoggerEnabled(false);

    getSecuritySettings().setAuthorizationStrategy(new EFapsFormBasedAuthorizationStartegy());

    getResourceSettings().setJavaScriptCompressor(new DefaultJavaScriptCompressor());

    // allow svg resources
    final IPackageResourceGuard guard = getResourceSettings().getPackageResourceGuard();
    if (guard instanceof SecurePackageResourceGuard) {
        ((SecurePackageResourceGuard) guard).addPattern("+*.svg");
    }

    setHeaderResponseDecorator(new IHeaderResponseDecorator() {

        @Override
        public IHeaderResponse decorate(final IHeaderResponse _response) {
            return new EFapsResourceAggregator(_response);
        }
    });
    getRequestCycleSettings().addResponseFilter(new IResponseFilter() {
        @Override
        public AppendingStringBuffer filter(final AppendingStringBuffer _responseBuffer) {
            final AppendingStringBuffer ret;
            if (RequestCycle.get().getActiveRequestHandler() instanceof ACAjaxRequestTarget) {
                ret = new AppendingStringBuffer().append(_responseBuffer.subSequence(0,
                        _responseBuffer.length() - XmlPartialPageUpdate.END_ROOT_ELEMENT.length()));
            } else {
                ret = _responseBuffer;
            }
            return ret;
        }
    });
}

From source file:ro.fortsoft.wicket.plugin.PluginManagerInitializer.java

License:Apache License

@Override
public void init(Application application) {
    pluginManager = createPluginManager(application);
    if (pluginManager == null) {
        throw new WicketRuntimeException("Plugin manager cannot be null");
    }/*from  www. j  a v a2s  .c  o  m*/

    log.debug("Created plugin manager {}", pluginManager);

    // load plugins        
    pluginManager.loadPlugins();

    // init plugins
    List<PluginWrapper> resolvedPlugins = pluginManager.getResolvedPlugins();
    for (PluginWrapper plugin : resolvedPlugins) {
        if (plugin.getPlugin() instanceof WicketPlugin) {
            ((WicketPlugin) plugin.getPlugin()).init(application);
        }
    }

    // start plugins
    pluginManager.startPlugins();

    // set class resolver
    CompoundClassResolver classResolver = new CompoundClassResolver();
    List<PluginWrapper> startedPlugins = pluginManager.getStartedPlugins();
    for (PluginWrapper plugin : startedPlugins) {
        classResolver.add(new PluginClassResolver(plugin));
    }
    application.getApplicationSettings().setClassResolver(classResolver);

    // store plugin manager in application
    application.setMetaData(PLUGIN_MANAGER_KEY, pluginManager);

    // add PluginComponentInjector
    application.getComponentInstantiationListeners().add(new PluginComponentInjector(application));
}