/** * {@inheritDoc} */ @Override protected DeploymentDescriptorBuilder getDeploymentDescriptorBuilder(final SessionStorage sessionStorage, final ServerConfig serverConfig) { return super.getDeploymentDescriptorBuilder(sessionStorage, serverConfig); }
/** * {@inheritDoc} */ @Override protected String getTempPath() { if (context != null) { return context.getCacheDir().getAbsolutePath() + File.separator + "webserver" + File.separator; } else { return super.getTempPath(); } }
/** * Creates and returns an instance of ServerConfigFactory. * If you want to provide your own ServerConfig factory, this is the place to overwrite. * * @return */ protected ServerConfigFactory getServerConfigFactory() { return new DefaultServerConfigFactory(); }
/** * {@inheritDoc} */ @Override public ServerConfig getServerConfig() { return getServerConfig(getBasePath()); }
/** * For performance reasons ServletResourceProvider is the last resource provider. * * @param serverConfig * @return */ private List<ResourceProvider> selectActiveResourceProviders(final ServerConfig serverConfig) { List<ResourceProvider> resourceProviders = new ArrayList<>(); resourceProviders.add(getFileResourceProvider(serverConfig)); for (ResourceProvider resourceProvider : getAdditionalResourceProviders(serverConfig)) { resourceProviders.add(resourceProvider); } resourceProviders.add(getServletResourceProvider(serverConfig)); return resourceProviders; }
private ServerConfig getServerConfig(final String baseConfigPath) { ServerConfigImpl serverConfig; String tempPath = getTempPath(); String basePath = File.separator + "httpd" + File.separator; try { serverConfig = ServerConfigImpl.createFromPath(baseConfigPath, tempPath); } catch (IOException e) { LOGGER.warning("Unable to read server config. Using the default configuration. " + e.getMessage()); serverConfig = new ServerConfigImpl(basePath, tempPath, new Properties()); } serverConfig.setResourceProviders(selectActiveResourceProviders(serverConfig)); return serverConfig; }
private List<ServletContextImpl> getServletContexts(final ServerConfig serverConfig) { DeploymentDescriptorBuilder deploymentDescriptorBuilder = getDeploymentDescriptorBuilder(new FileSessionStorage(serverConfig.getTempPath()), serverConfig); List<ServletContextImpl> servletContexts = deploymentDescriptorBuilder.build(); for (ServletContextImpl servletContextImpl : servletContexts) { for (Map.Entry<String, Object> entry : getAdditionalServletContextAttributes().entrySet()) { servletContextImpl.setAttribute(entry.getKey(), entry.getValue()); } } return servletContexts; }
private ServletResourceProvider getServletResourceProvider(final ServerConfig serverConfig) { return new ServletResourceProvider( new ServletContainerImpl(new DateProvider(), SERVLET_TIME_TO_LIVE_IN_MS, MONITORING_INTERVAL_IN_MS), getServletContexts(serverConfig) ); } }