private void initSpringProperties(Module m) { System.setProperty("server.servlet.context-path", "/" + m.getContext()); }
public ServerApplication createApp(final Module module, final ApplicationContext rootContext) { ModuleDataExtractor extractor = new ModuleDataExtractor(module); PersistentList resources = extractor.getRestResources(rootContext); MicroserverEnvironment microserverEnvironment = rootContext.getBean(MicroserverEnvironment.class); microserverEnvironment.assureModule(module); String fullRestResource = "/" + module.getContext() + "/*"; ServerData serverData = new ServerData(microserverEnvironment.getModuleBean(module).getPort(), resources, rootContext, fullRestResource, module); List<FilterData> filterDataList = extractor.createFilteredDataList(serverData); List<ServletData> servletDataList = extractor.createServletDataList(serverData); GrizzlyApplication app = new GrizzlyApplication( new AllData(serverData, filterDataList, servletDataList, module.getListeners(serverData), module.getRequestListeners(serverData))); return app; } }
@Override public <T> Consumer<WebServerProvider<T>> getServerConfigManager() { if (serverConfigManager != null) return (Consumer) serverConfigManager; return Module.super.getServerConfigManager(); }
public LinkedListX getRestResources(ApplicationContext rootContext){ List resources = new ArrayList<>(); module.getRestResourceClasses().forEach(it -> resources.addAll(rootContext.getBeansOfType(it).values())); module.getRestAnnotationClasses().forEach(it -> resources.addAll(rootContext.getBeansWithAnnotation(it).values())); rootContext.getBeansWithAnnotation(JaxRsResource.class).forEach((n,it)->resources.add(it)); rootContext.getBeansOfType(JaxRsResourceWrapper.class).forEach((n,it)->resources.add(it.getResource())); resources.addAll(module.getJaxRsResourceObjects()); return LinkedListX.fromIterable(resources); }
javax.servlet.ServletRegistration.Dynamic servletRegistration = webappContext.addServlet(config.getName() + "-" + serverData.getModule() .getContext(), config.getServlet()); Map<String, String> initParams = config.getInitParams(); for (String key : initParams.keySet()) { .getJaxWsRsApplication()); servletRegistration.setInitParameter(config.getProvidersName(), serverData.getModule() .getProviders()); servletRegistration.setInitParameter("context", serverData.getModule() .getContext()); servletRegistration.setLoadOnStartup(1); servletRegistration.addMapping(serverData.getBaseUrlPattern());
filters = HashMapBuilder.<String,Filter>map("/*1",new DummyQueryIPRetriever()).build(); jaxWsRsApplication = "jaxRsApp2"; listeners = m.getListeners(ServerData.builder().resources(LinkedListX.empty()).build()); requestListeners = m.getRequestListeners(ServerData.builder().resources(LinkedListX.empty()).build()); providers = "providers2"; Module m = () -> "hello";
@Override public List<ServletContextListener> getListeners(ServerData data) { if (listeners != null) return ListX.fromIterable((concat(this.listeners, extract(() -> Module.super.getListeners(data))))); return Module.super.getListeners(data); }
@Override public List<ServletRequestListener> getRequestListeners(ServerData data) { if (requestListeners != null) return ListX.fromIterable(concat(this.requestListeners, extract(() -> Module.super.getRequestListeners(data)))); return Module.super.getRequestListeners(data); }
public List<ServletData> createServletDataList(ServerData data) { Map<String,Servlet> servletMap = module.getServlets(data); return servletMap.entrySet().stream().map( e -> { return new ServletData( e.getValue().getClass().getName(), e.getValue().getClass(), e.getKey()); }).collect(Collectors.toList()); }
@Override public List<Class<?>> getDefaultResources() { if (this.defaultResources != null) { return ListX.fromIterable((concat(this.defaultResources, extract(() -> Module.super.getDefaultResources())))); } return Module.super.getDefaultResources(); }
public List<FilterData> createFilteredDataList(ServerData data) { Map<String,Filter> filterMap = module.getFilters(data); return filterMap.entrySet().stream().map( e -> { return new FilterData(e.getKey(), e.getValue().getClass().getName(), new DelegatingFilterProxy(e.getValue())); }).collect(Collectors.toList()); }
@Override public Set<Class<?>> getRestResourceClasses() { if (restResourceClasses != null) return SetX.fromIterable(concat(restResourceClasses, extract(() -> Collections.singletonList(CommonRestResource.class)))); return Module.super.getRestResourceClasses(); }
@Override public String getProviders() { if (providers != null) return providers; return Module.super.getProviders(); }
@Override public Set<Class<? extends Annotation>> getRestAnnotationClasses() { if (restAnnotationClasses != null) return SetX.fromIterable(concat(restAnnotationClasses, extract(() -> Module.super.getRestAnnotationClasses()))); return Module.super.getRestAnnotationClasses(); }
javax.servlet.ServletRegistration.Dynamic servletRegistration = webappContext.addServlet(config.getName() + "-" + serverData.getModule() .getContext(), config.getServlet()); Map<String, String> initParams = config.getInitParams(); for (String key : initParams.keySet()) { .getJaxWsRsApplication()); servletRegistration.setInitParameter(config.getProvidersName(), serverData.getModule() .getProviders()); servletRegistration.setInitParameter("context", serverData.getModule() .getContext()); servletRegistration.setLoadOnStartup(1); servletRegistration.addMapping(serverData.getBaseUrlPattern());
@Test public void testGetListenersUnchanged() { assertThat(unchanged.getListeners(ServerData.builder().resources(LinkedListX.empty()).build()).size() , is(m.getListeners(ServerData.builder().resources(LinkedListX.empty()).build()).size())); } @Test
@Test public void testGetRequestListenersUnchanged() { assertThat(unchanged.getRequestListeners(ServerData.builder().resources(LinkedListX.of()).build()).size() , is(m.getRequestListeners(ServerData.builder().resources(LinkedListX.of()).build()).size())); }
public LinkedListX getRestResources(ApplicationContext rootContext){ List resources = new ArrayList<>(); module.getRestResourceClasses().forEach(it -> resources.addAll(rootContext.getBeansOfType(it).values())); module.getRestAnnotationClasses().forEach(it -> resources.addAll(rootContext.getBeansWithAnnotation(it).values())); rootContext.getBeansWithAnnotation(JaxRsResource.class).forEach((n,it)->resources.add(it)); rootContext.getBeansOfType(JaxRsResourceWrapper.class).forEach((n,it)->resources.add(it.getResource())); resources.addAll(module.getJaxRsResourceObjects()); return LinkedListX.fromIterable(resources); }
@Override public Map<String, Servlet> getServlets(ServerData data) { if (servlets != null) return MapX.fromMap(servlets).plusAll(extractMap(() -> Module.super.getServlets(data))); return Module.super.getServlets(data); }
@Test public void defaultResourcesNew(){ Module m = ConfigurableModule.builder().defaultResources(Arrays.asList(this.getClass())).build(); assertThat(m.getDefaultResources().size(),equalTo(1)); } @Test