if (applicationClass != null) {
createServerFromApplication(applicationClass, servletConfig);
return;
}
JAXRSServerFactoryBean bean = new JAXRSServerFactoryBean();
String address = servletConfig.getInitParameter(SERVICE_ADDRESS_PARAM);
if (address == null) {
address = "/";
}
bean.setAddress(address);
String modelRef = servletConfig.getInitParameter(USER_MODEL_PARAM);
if (modelRef != null) {
bean.setModelRef(modelRef.trim());
}
setSchemasLocations(bean, servletConfig);
setInterceptors(bean, servletConfig, OUT_INTERCEPTORS_PARAM);
setInterceptors(bean, servletConfig, IN_INTERCEPTORS_PARAM);
List<Class> resourceClasses = getServiceClasses(servletConfig, modelRef != null);
Map<Class, ResourceProvider> resourceProviders =
getResourceProviders(servletConfig, resourceClasses);
List<?> providers = getProviders(servletConfig);
bean.setResourceClasses(resourceClasses);
bean.setProviders(providers);
for (Map.Entry<Class, ResourceProvider> entry : resourceProviders.entrySet()) {
bean.setResourceProvider(entry.getKey(), entry.getValue());
}
bean.create();
}