private static void addListener(final ClassLoader classLoader, final ComponentRegistry components, final DeploymentInfo d, final ListenerMetaData listener, boolean programatic) throws ClassNotFoundException { ListenerInfo l; final Class<? extends EventListener> listenerClass = (Class<? extends EventListener>) classLoader.loadClass(listener.getListenerClass()); ManagedReferenceFactory creator = components.createInstanceFactory(listenerClass); if (creator != null) { InstanceFactory<EventListener> factory = createInstanceFactory(creator); l = new ListenerInfo(listenerClass, factory, programatic); } else { l = new ListenerInfo(listenerClass, programatic); } d.addListener(l); }
private void handleAuthManagerLogout(DeploymentInfo deploymentInfo, JBossWebMetaData mergedMetaData) { AuthenticationManager manager = securityDomainContextValue.getValue().getAuthenticationManager(); deploymentInfo.addNotificationReceiver(new LogoutNotificationReceiver(manager, securityDomain)); if(mergedMetaData.isFlushOnSessionInvalidation()) { LogoutSessionListener listener = new LogoutSessionListener(manager); deploymentInfo.addListener(Servlets.listener(LogoutSessionListener.class, new ImmediateInstanceFactory<EventListener>(listener))); } }
private void configureAccessLog(DeploymentInfo deploymentInfo) { try { createAccessLogDirectoryIfNecessary(); XnioWorker worker = createWorker(); String prefix = (this.accessLogPrefix != null) ? this.accessLogPrefix : "access_log."; DefaultAccessLogReceiver accessLogReceiver = new DefaultAccessLogReceiver( worker, this.accessLogDirectory, prefix, this.accessLogSuffix, this.accessLogRotate); EventListener listener = new AccessLogShutdownListener(worker, accessLogReceiver); deploymentInfo.addListener(new ListenerInfo(AccessLogShutdownListener.class, new ImmediateInstanceFactory<>(listener))); deploymentInfo.addInitialHandlerChainWrapper( (handler) -> createAccessLogHandler(handler, accessLogReceiver)); } catch (IOException ex) { throw new IllegalStateException("Failed to create AccessLogHandler", ex); } }
d.addListener(new ListenerInfo(JspInitializationListener.class)); d.addServletContextAttribute(JspInitializationListener.CONTEXT_KEY, expressionFactoryWrappers); d.addListener(new ListenerInfo(sl.getClass(), new ImmediateInstanceFactory<EventListener>(sl)));
protected DeploymentManager createPippoDeploymentManager() { DeploymentInfo info = Servlets.deployment(); info.setDeploymentName("Pippo"); info.setClassLoader(this.getClass().getClassLoader()); info.setContextPath(getSettings().getContextPath()); info.setIgnoreFlush(true); // inject application as context attribute info.addServletContextAttribute(PIPPO_APPLICATION, getApplication()); // add pippo filter addPippoFilter(info); // add initializers info.addListener(new ListenerInfo(PippoServletContextListener.class)); // add listeners listeners.forEach(listener -> info.addListener(new ListenerInfo(listener))); ServletInfo defaultServlet = new ServletInfo("DefaultServlet", DefaultServlet.class); defaultServlet.addMapping("/"); MultipartConfigElement multipartConfig = createMultipartConfigElement(); defaultServlet.setMultipartConfig(multipartConfig); info.addServlets(defaultServlet); DeploymentManager deploymentManager = Servlets.defaultContainer().addDeployment(info); deploymentManager.deploy(); return deploymentManager; }
private void addNutzSupport() { NbServletContextListener nbsc = ioc.get(NbServletContextListener.class); ImmediateInstanceFactory<EventListener> factory = new ImmediateInstanceFactory<EventListener>(nbsc); ListenerInfo listener = new ListenerInfo(nbsc.getClass(), factory); deployment.addListener(listener); }
@SuppressWarnings("unchecked") @Override public void handleDeployment(DeploymentInfo deploymentInfo, ServletContext servletContext) { LogFactory.getLog("RestEasyUndertowRegistration") .config("Registering Rest Easy Servlet Context Listener"); InstanceFactory guiceInstanceFactory = new ImmediateInstanceFactory<>(GuiceContext.get(GuiceResteasyBootstrapServletContextListener.class)); deploymentInfo.addListener(new ListenerInfo(GuiceResteasyBootstrapServletContextListener.class, guiceInstanceFactory)); } }
protected DeploymentInfo getDeploymentInfo(final String name, final String contextPath, final Map<String, String> initialParameters) { final DeploymentInfo deploymentInfo = new DeploymentInfo(); deploymentInfo.setClassLoader(ParticipantService.class.getClassLoader()); deploymentInfo.setContextPath(contextPath); deploymentInfo.setDeploymentName(name); deploymentInfo.addServlets(getResteasyServlet()); deploymentInfo.addListener(getResteasyListener()); deploymentInfo.addListener(getRestATListener()); for (Entry<String, String> entry : initialParameters.entrySet()) { deploymentInfo.addInitParameter(entry.getKey(), entry.getValue()); } return deploymentInfo; }
private static void addListener(final ClassLoader classLoader, final ComponentRegistry components, final DeploymentInfo d, final ListenerMetaData listener, boolean programatic) throws ClassNotFoundException { ListenerInfo l; final Class<? extends EventListener> listenerClass = (Class<? extends EventListener>) classLoader.loadClass(listener.getListenerClass()); ManagedReferenceFactory creator = components.createInstanceFactory(listenerClass); if (creator != null) { InstanceFactory<EventListener> factory = createInstanceFactory(creator); l = new ListenerInfo(listenerClass, factory, programatic); } else { l = new ListenerInfo(listenerClass, programatic); } d.addListener(l); }
private static void addListener(final ClassLoader classLoader, final ComponentRegistry components, final DeploymentInfo d, final ListenerMetaData listener, boolean programatic) throws ClassNotFoundException { ListenerInfo l; final Class<? extends EventListener> listenerClass = (Class<? extends EventListener>) classLoader.loadClass(listener.getListenerClass()); ManagedReferenceFactory creator = components.createInstanceFactory(listenerClass); if (creator != null) { InstanceFactory<EventListener> factory = createInstanceFactory(creator); l = new ListenerInfo(listenerClass, factory, programatic); } else { l = new ListenerInfo(listenerClass, programatic); } d.addListener(l); }
@Override public void handleDeployment(DeploymentInfo deploymentInfo, ServletContext servletContext) { if (servletContext.getAttribute(ATTRIBUTE_NAME) == null) { UndertowJWebMPHandlerExtension.log.fine("Registering Guice Filter in Undertow"); deploymentInfo.addFilter(new FilterInfo("GuiceFilter", GuiceFilter.class).setAsyncSupported(true)); deploymentInfo.addFilterUrlMapping("GuiceFilter", "/*", DispatcherType.REQUEST); deploymentInfo.addListener(new ListenerInfo(GuicedServletSessionManager.class)); } else { UndertowJWebMPHandlerExtension.log.fine("Requested to configure guice for web sockets - skipped. - " + deploymentInfo.getDeploymentName()); } UndertowJWebMPHandlerExtension.log.config("Configuring Resources to be found in META-INF/resources"); deploymentInfo.setResourceManager(new ClassPathResourceManager(deploymentInfo.getClassLoader(), "META-INF/resources")); UndertowJWebMPHandlerExtension.log.fine("Undertow Configured"); } }
@Override public <T extends EventListener> void addListener(final T t) { ensureNotInitialized(); ensureNotProgramaticListener(); if (ApplicationListeners.listenerState() != NO_LISTENER && ServletContextListener.class.isAssignableFrom(t.getClass())) { throw UndertowServletMessages.MESSAGES.cannotAddServletContextListener(); } ListenerInfo listener = new ListenerInfo(t.getClass(), new ImmediateInstanceFactory<EventListener>(t)); deploymentInfo.addListener(listener); deployment.getApplicationListeners().addListener(new ManagedListener(listener, true)); }
@Override public DeploymentInfo getDeploymentInfo( String contextRoot, Application application ) { if ( !config.isMetricsEnabled() ) { return null; } final ServletInfo servlet = Servlets.servlet( "healthcheck", HealthCheckServlet.class ).addMapping( "/healthcheck" ); final DeploymentInfo di = new DeploymentInfo().addListener( Servlets.listener( IndyHealthCheckServletContextListener.class ) ) .setContextPath( contextRoot ) .addServlet( servlet ) .setDeploymentName( "HealthCheck Deployment" ) .setClassLoader( ClassLoader.getSystemClassLoader() ); logger.info( "Returning deployment info for health check" ); return di; } }
@Override public void addListener(final Class<? extends EventListener> listenerClass) { ensureNotInitialized(); ensureNotProgramaticListener(); if (ApplicationListeners.listenerState() != NO_LISTENER && ServletContextListener.class.isAssignableFrom(listenerClass)) { throw UndertowServletMessages.MESSAGES.cannotAddServletContextListener(); } InstanceFactory<? extends EventListener> factory = null; try { factory = deploymentInfo.getClassIntrospecter().createInstanceFactory(listenerClass); } catch (Exception e) { throw new IllegalArgumentException(e); } final ListenerInfo listener = new ListenerInfo(listenerClass, factory); deploymentInfo.addListener(listener); deployment.getApplicationListeners().addListener(new ManagedListener(listener, true)); }
static TriFunction<DeploymentInfo, String, String, DeploymentInfo> addShiroFilter() { return (deploymentInfo , shiroFilterName , shiroShiroFilterMappin) -> deploymentInfo.addListener(new ListenerInfo(EnvironmentLoaderListener.class)) .addFilter(new FilterInfo(shiroFilterName , ShiroFilter.class)) .addFilterUrlMapping(shiroFilterName , shiroShiroFilterMappin , REQUEST) .addFilterUrlMapping(shiroFilterName , shiroShiroFilterMappin , FORWARD) .addFilterUrlMapping(shiroFilterName , shiroShiroFilterMappin , INCLUDE) .addFilterUrlMapping(shiroFilterName , shiroShiroFilterMappin , ERROR); }
private Undertow configureUndertow(MockitoSpringWebApplicationContext context, URL url) throws ServletException { // https://github.com/yarosla/spring-undertow/blob/master/src/main/java/ys/undertow/UndertowMain.java DeploymentInfo servletBuilder = Servlets.deployment() .setClassLoader(Undertow.class.getClassLoader()) .setContextPath(url.getPath()) .setDeploymentName("mock") .addServlet(createDispatcherServlet(context)) .addListener(createContextLoaderListener(context)); DeploymentManager manager = Servlets.defaultContainer().addDeployment(servletBuilder); manager.deploy(); PathHandler path = Handlers.path(Handlers.redirect("/")) .addPrefixPath(CONTEXT_PATH, manager.start()); return Undertow.builder() .addHttpListener(url.getPort(), url.getHost()) .setHandler(path) .build(); }
private void handleAuthManagerLogout(DeploymentInfo deploymentInfo, JBossWebMetaData mergedMetaData) { AuthenticationManager manager = securityDomainContextValue.getValue().getAuthenticationManager(); deploymentInfo.addNotificationReceiver(new LogoutNotificationReceiver(manager, securityDomain)); if(mergedMetaData.isFlushOnSessionInvalidation()) { LogoutSessionListener listener = new LogoutSessionListener(manager); deploymentInfo.addListener(Servlets.listener(LogoutSessionListener.class, new ImmediateInstanceFactory<EventListener>(listener))); } }
private void handleAuthManagerLogout(DeploymentInfo deploymentInfo, JBossWebMetaData mergedMetaData) { AuthenticationManager manager = securityDomainContextValue.getValue().getAuthenticationManager(); deploymentInfo.addNotificationReceiver(new LogoutNotificationReceiver(manager, securityDomain)); if(mergedMetaData.isFlushOnSessionInvalidation()) { LogoutSessionListener listener = new LogoutSessionListener(manager); deploymentInfo.addListener(Servlets.listener(LogoutSessionListener.class, new ImmediateInstanceFactory<EventListener>(listener))); } }
.setClassLoader(ClassLoader.getSystemClassLoader()); super.getListeners().forEach(c ->di.addListener(listener(c)));
this.apiVersioningFilter ) ); final DeploymentInfo di = new DeploymentInfo().addListener( Servlets.listener( RequestScopeListener.class ) )