protected ApplicationInfo createApplicationInfo(String appClassName, ServletConfig servletConfig) throws ServletException { Application customApp = createApplicationInstance(appClassName, servletConfig); if (customApp != null) { return new ApplicationInfo(customApp, getBus()); } Map<String, List<String>> props = new HashMap<>(); appClassName = getClassNameAndProperties(appClassName, props); Class<?> appClass = loadApplicationClass(appClassName); ApplicationInfo appInfo = (ApplicationInfo)createSingletonInstance(appClass, props, servletConfig); Map<String, Object> servletProps = new HashMap<>(); ServletContext servletContext = servletConfig.getServletContext(); for (Enumeration<String> names = servletContext.getInitParameterNames(); names.hasMoreElements();) { String name = names.nextElement(); servletProps.put(name, servletContext.getInitParameter(name)); } for (Enumeration<String> names = servletConfig.getInitParameterNames(); names.hasMoreElements();) { String name = names.nextElement(); servletProps.put(name, servletConfig.getInitParameter(name)); } appInfo.setOverridingProps(servletProps); return appInfo; }
protected void createServerFromApplication(String cName, ServletConfig servletConfig) throws ServletException { Application app = createApplicationInstance(cName, servletConfig); String ignoreParam = servletConfig.getInitParameter(IGNORE_APP_PATH_PARAM); JAXRSServerFactoryBean bean = ResourceUtils.createApplication(app, MessageUtils.isTrue(ignoreParam), getStaticSubResolutionValue(servletConfig)); String splitChar = getParameterSplitChar(servletConfig); setAllInterceptors(bean, servletConfig, splitChar); setInvoker(bean, servletConfig); setExtensions(bean, servletConfig); setDocLocation(bean, servletConfig); setSchemasLocations(bean, servletConfig); bean.setBus(getBus()); bean.create(); }