org.apache.myfaces.webapp.StartupServletContextListener Java Examples

The following examples show how to use org.apache.myfaces.webapp.StartupServletContextListener. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: JsfConfig.java    From JavaExercises with GNU General Public License v2.0 5 votes vote down vote up
@Override
public void onStartup(ServletContext servletContext)
        throws ServletException {
    servletContext.setInitParameter("primefaces.THEME", "bootstrap");

    MyFacesContainerInitializer facesInitializer = new MyFacesContainerInitializer();
    Set<Class<?>> clazz = new HashSet<Class<?>>();
    clazz.add(JsfConfig.class);
    facesInitializer.onStartup(clazz, servletContext);

    servletContext.addListener(new StartupServletContextListener());

}
 
Example #2
Source File: MyFacesAutoConfiguration.java    From joinfaces with Apache License 2.0 5 votes vote down vote up
/**
 * This {@link WebFragmentRegistrationBean} is equivalent to the
 * {@code META-INF/web-fragment.xml} of the {@code myfaces-impl.jar}.
 *
 * @return myFacesWebFragmentRegistrationBean
 */
@Bean
@ConditionalOnClass(name = "org.apache.myfaces.webapp.StartupServletContextListener")
public WebFragmentRegistrationBean myFacesWebFragmentRegistrationBean() {
	WebFragmentRegistrationBean webFragmentRegistrationBean = new WebFragmentRegistrationBean();
	webFragmentRegistrationBean.getListeners().add(StartupServletContextListener.class);
	return webFragmentRegistrationBean;
}
 
Example #3
Source File: TomEEMyFacesContainerInitializer.java    From tomee with Apache License 2.0 4 votes vote down vote up
@Override
public void onStartup(final Set<Class<?>> classes, final ServletContext ctx) throws ServletException {
    // try to skip first
    if ("true".equalsIgnoreCase(ctx.getInitParameter("org.apache.myfaces.INITIALIZE_ALWAYS_STANDALONE"))
            || "true".equals(SystemInstance.get().getProperty(OPENEJB_JSF_SKIP, "false"))) {
        return;
    }

    // if mojarra is present skip myfaces startup
    try {
        ctx.getClassLoader().loadClass("com.sun.faces.context.SessionMap");
        return;
    } catch (final ClassNotFoundException | NoClassDefFoundError cnfe) {
        // no-op
    }

    // some message filtering, not a perf killer since this class don't log a lot
    final Logger abstractInitializerLogger = Logger.getLogger(AbstractFacesInitializer.class.getName());
    abstractInitializerLogger.setFilter(new RemoveLogMessage(
            new RemoveLogMessage(abstractInitializerLogger.getFilter(),
                    Level.WARNING, "No mappings of FacesServlet found. Abort initializing MyFaces."),
            Level.WARNING, "No mappings of FacesServlet found. Abort destroy MyFaces."));

    final boolean facesServletPresent = isFacesServletPresent(ctx);
    if (facesServletPresent || isFacesConfigPresent(ctx)) {
        // we found a faces-config.xml or some classes so let's delegate to myfaces

        // since we don't want to call isFacesConfigPresent again (it scan all jars!!!!)
        // forcing classes to not be empty
        Set<Class<?>> passedClasses = classes;
        if (passedClasses == null) {
            passedClasses = new HashSet<Class<?>>();
        }
        if (passedClasses.isEmpty()) {
            passedClasses.add(TomEEMyFacesContainerInitializer.class);
        }

        if (ctx instanceof ApplicationContextFacade) {
            try {
                final ApplicationContext appCtx = (ApplicationContext) get(ApplicationContextFacade.class, ctx);
                final Context tomcatCtx = (Context) get(ApplicationContext.class, appCtx);
                if (!Arrays.asList(tomcatCtx.findApplicationListeners()).contains(StartupServletContextListener.class.getName())) {
                    addListener(ctx);
                }
            } catch (final Exception e) {
                // add it, not important we'll simply get a warning saying it is already here
                addListener(ctx);
            }
        }

        // finally delegating begin sure we'll not call isFacesConfigPresent
        if (!facesServletPresent) {
            delegate.onStartup(classes, ctx);
        } // else already done since there is the servlet
    }
}
 
Example #4
Source File: TomEEMyFacesContainerInitializer.java    From tomee with Apache License 2.0 4 votes vote down vote up
private void addListener(final ServletContext ctx) {
    final Logger logger = Logger.getLogger(AbstractFacesInitializer.class.getName());
    logger.log(Level.INFO, "Installing <listener>" + StartupServletContextListener.class.getName() + "</listener>");
    ctx.addListener(StartupServletContextListener.class);
}