Example usage for org.apache.wicket.protocol.http WebApplication getFrameworkSettings

List of usage examples for org.apache.wicket.protocol.http WebApplication getFrameworkSettings

Introduction

In this page you can find the example usage for org.apache.wicket.protocol.http WebApplication getFrameworkSettings.

Prototype

public final FrameworkSettings getFrameworkSettings() 

Source Link

Usage

From source file:net.rrm.ehour.ui.test.StrictWicketTester.java

License:Open Source License

public StrictWicketTester(WebApplication webApplication) {
    super(webApplication);

    interceptor = new EventInterceptor();
    webApplication.getFrameworkSettings().add(interceptor);
}

From source file:org.ops4j.pax.wicket.api.PaxWicketApplicationFactory.java

License:Apache License

private WebApplication createWicketApplicationViaCustomFactory() {
    WebApplication paxWicketApplication;
    paxWicketApplication = applicationFactory.createWebApplication(new ApplicationLifecycleListener() {
        private final List<ServiceRegistration> m_serviceRegistrations = new ArrayList<ServiceRegistration>();
        private PageMounterTracker mounterTracker;
        private ComponentInstantiationListenerFacade componentInstanciationListener;

        public void onInit(WebApplication wicketApplication) {
            componentInstanciationListener = new ComponentInstantiationListenerFacade(
                    delegatingComponentInstanciationListener);
            wicketApplication.addComponentInstantiationListener(componentInstanciationListener);

            IApplicationSettings applicationSettings = wicketApplication.getApplicationSettings();
            applicationSettings.setClassResolver(delegatingClassResolver);
            addWicketService(IApplicationSettings.class, applicationSettings);

            ISessionSettings sessionSettings = wicketApplication.getSessionSettings();
            sessionSettings.setPageFactory(pageFactory);
            addWicketService(ISessionSettings.class, sessionSettings);

            addWicketService(IDebugSettings.class, wicketApplication.getDebugSettings());
            addWicketService(IExceptionSettings.class, wicketApplication.getExceptionSettings());
            addWicketService(IFrameworkSettings.class, wicketApplication.getFrameworkSettings());
            addWicketService(IMarkupSettings.class, wicketApplication.getMarkupSettings());
            addWicketService(IPageSettings.class, wicketApplication.getPageSettings());
            addWicketService(IRequestCycleSettings.class, wicketApplication.getRequestCycleSettings());
            addWicketService(IResourceSettings.class, wicketApplication.getResourceSettings());
            addWicketService(ISecuritySettings.class, wicketApplication.getSecuritySettings());

            if (pageMounter != null) {
                for (MountPointInfo bookmark : pageMounter.getMountPoints()) {
                    wicketApplication.mount(bookmark.getCodingStrategy());
                }//  w w w.  j a  v a 2s. c  om
            }

            // Now add a tracker so we can still mount pages later
            mounterTracker = new PageMounterTracker(bundleContext, wicketApplication, getApplicationName());
            mounterTracker.open();

            for (final IInitializer initializer : initializers) {
                initializer.init(wicketApplication);
            }
        }

        private <T> void addWicketService(Class<T> service, T serviceImplementation) {
            Properties props = new Properties();

            // Note: This is kept for legacy
            props.setProperty("applicationId", getApplicationName());
            props.setProperty(APPLICATION_NAME, getApplicationName());

            String serviceName = service.getName();
            ServiceRegistration registration = bundleContext.registerService(serviceName, serviceImplementation,
                    props);
            m_serviceRegistrations.add(registration);
        }

        public void onDestroy(WebApplication wicketApplication) {
            wicketApplication.removeComponentInstantiationListener(componentInstanciationListener);

            if (mounterTracker != null) {
                mounterTracker.close();
                mounterTracker = null;
            }

            for (ServiceRegistration reg : m_serviceRegistrations) {
                reg.unregister();
            }
            m_serviceRegistrations.clear();
        }
    });
    return paxWicketApplication;
}

From source file:org.seasar.wicket.S2WicketFilter.java

License:Apache License

private void initInternal(final boolean isServlet, FilterConfig filterConfig) throws ServletException {
    // ????????????
    destroy();/*from w  w  w  .  jav  a2s  . c o  m*/

    // ???
    configuration = getInitParameter(filterConfig, "configuration", "development").toUpperCase();
    configPath = getInitParameter(filterConfig, "configPath", "app.dicon");
    debug = getInitParameter(filterConfig, "debug", null);
    reloadingClassPattern = getInitParameter(filterConfig, "reloadingClassPattern", null);
    useReloadingClassLoader = RuntimeConfigurationType.DEVELOPMENT.name().equalsIgnoreCase(configuration)
            && reloadingClassPattern != null;

    if (logger.isInfoEnabled()) {
        logger.info("[config] configuration='{}'", configuration);
        logger.info("[config] configPath='{}'", configPath);
        logger.info("[config] debug='{}'", debug);
        logger.info("[config] reloadingClassPattern='{}'", reloadingClassPattern);
    }

    if (RuntimeConfigurationType.DEVELOPMENT == RuntimeConfigurationType.valueOf(configuration)
            && reloadingClassPattern != null) {
        ReloadingClassLoader.getPatterns().clear();
        // ??????????
        // ???????????
        for (String classPattern : reloadingClassPattern.split(",")) {
            if (!classPattern.startsWith("-")) {
                ReloadingClassLoader.includePattern(classPattern);
            } else {
                ReloadingClassLoader.excludePattern(classPattern.substring(1));
            }
        }
        for (URL str : ReloadingClassLoader.getLocations()) {
            logger.info("[classpath] {}", str);
        }
        for (String str : ReloadingClassLoader.getPatterns()) {
            logger.info("[pattern] {}", str);
        }
    }

    ComponentDeployerFactory.setProvider(new ExternalComponentDeployerProvider());
    S2Container s2container = S2ContainerFactory.create(configPath, getClassLoader());
    s2container.setExternalContext(new HttpServletExternalContext());
    s2container.setExternalContextComponentDefRegister(new HttpServletExternalContextComponentDefRegister());
    s2container.getExternalContext().setApplication(filterConfig.getServletContext());
    s2container.init();
    SingletonS2ContainerFactory.setContainer(s2container);

    if (SmartDeployUtil.isHotdeployMode(SingletonS2ContainerFactory.getContainer())) {
        throw new ServletException("S2Wicket does not support HOT deploy mode.");
    }

    // Application???getHomePage()??????
    // ????????????

    super.init(isServlet, filterConfig);

    // ???WebApplication?????????
    WebApplication webApplication = (WebApplication) Application.get(filterConfig.getFilterName());
    webApplication.getComponentInstantiationListeners().add(new ComponentInjectionListener());
    applicationConfigType = webApplication.getConfigurationType();
    applicationEncoding = webApplication.getRequestCycleSettings().getResponseRequestEncoding();

    if (RuntimeConfigurationType.DEVELOPMENT == RuntimeConfigurationType.valueOf(configuration)) {
        webApplication.getFrameworkSettings()
                .setSerializer(new ReloadingJavaSerializer(webApplication.getApplicationKey()));
        if (debug != null) {
            webApplication.mountPage(debug, S2DebugPage.class);
        }
    }
}