protected JAXRSServerFactoryBean createFactoryBeanFromApplication(Application app) { return ResourceUtils.createApplication(app, false, true, false, getBus()); } protected static Set<String> parseSetProperty(String componentScanProp) {
@Override public <T> T createEndpoint(Application app, Class<T> endpointType) throws IllegalArgumentException, UnsupportedOperationException { if (app == null || (!Server.class.isAssignableFrom(endpointType) && !JAXRSServerFactoryBean.class.isAssignableFrom(endpointType))) { throw new IllegalArgumentException(); } JAXRSServerFactoryBean bean = ResourceUtils.createApplication(app, false, false, false, null); if (JAXRSServerFactoryBean.class.isAssignableFrom(endpointType)) { return endpointType.cast(bean); } bean.setStart(false); Server server = bean.create(); return endpointType.cast(server); }
@Override public <T> T createEndpoint(Application app, Class<T> endpointType) throws IllegalArgumentException, UnsupportedOperationException { if (app == null || (!Server.class.isAssignableFrom(endpointType) && !JAXRSServerFactoryBean.class.isAssignableFrom(endpointType))) { throw new IllegalArgumentException(); } JAXRSServerFactoryBean bean = ResourceUtils.createApplication(app, false); if (JAXRSServerFactoryBean.class.isAssignableFrom(endpointType)) { return endpointType.cast(bean); } bean.setStart(false); Server server = bean.create(); return endpointType.cast(server); }
/** * Create the JAXRSServerFactoryBean from the application and all discovered service and provider instances. * @param application application instance * @param services all discovered services * @param providers all discovered providers * @return JAXRSServerFactoryBean instance */ private JAXRSServerFactoryBean createFactoryInstance(final Application application, final List< ? > services, final List< ? > providers, final List< ? extends Feature > features) { final JAXRSServerFactoryBean instance = ResourceUtils.createApplication(application, false, false, false, bus); instance.setServiceBeans(new ArrayList<>(services)); instance.setProviders(providers); instance.setProviders(loadExternalProviders()); instance.setFeatures(features); return instance; }
public static JAXRSServerFactoryBean createApplication(Application app, boolean ignoreAppPath, boolean staticSubresourceResolution) { Set<Object> singletons = app.getSingletons(); verifySingletons(singletons); List<Class<?>> resourceClasses = new ArrayList<Class<?>>(); List<Object> providers = new ArrayList<Object>(); Map<Class<?>, ResourceProvider> map = new HashMap<Class<?>, ResourceProvider>(); // Note, app.getClasse() returns a list of per-resource classes // or singleton provider classes for (Class<?> c : app.getClasses()) { if (isValidApplicationClass(c, singletons)) { if (isValidProvider(c)) { try { providers.add(c.newInstance()); } catch (Throwable ex) { throw new RuntimeException("Provider " + c.getName() + " can not be created", ex); } } else { resourceClasses.add(c); map.put(c, new PerRequestResourceProvider(c)); } } } // we can get either a provider or resource class here for (Object o : singletons) { boolean isProvider = o.getClass().getAnnotation(Provider.class) != null;
/** * Create the JAXRSServerFactoryBean from the application and all discovered service and provider instances. * @param application application instance * @param services all discovered services * @param providers all discovered providers * @return JAXRSServerFactoryBean instance */ private JAXRSServerFactoryBean createFactoryInstance(final Application application, final List< ? > services, final List< ? > providers, final List< ? extends Feature > features) { final JAXRSServerFactoryBean instance = ResourceUtils.createApplication(application, false, false, false, bus); instance.setServiceBeans(new ArrayList<>(services)); instance.setProviders(providers); instance.setProviders(loadExternalProviders()); instance.setFeatures(features); return instance; }
/** * Create the JAXRSServerFactoryBean from the objects declared by application itself. * @param application application instance * @return JAXRSServerFactoryBean instance */ private JAXRSServerFactoryBean createFactoryInstance(final Application application, final BeanManager beanManager) { final JAXRSServerFactoryBean instance = ResourceUtils.createApplication(application, false, false, false, bus); final ClassifiedClasses classified = classes2singletons(application, beanManager); instance.setProviders(classified.getProviders()); instance.getFeatures().addAll(classified.getFeatures()); for (final ResourceProvider resourceProvider: classified.getResourceProviders()) { instance.setResourceProvider(resourceProvider.getResourceClass(), resourceProvider); } return instance; }
/** * Create the JAXRSServerFactoryBean from the objects declared by application itself. * @param application application instance * @return JAXRSServerFactoryBean instance */ private JAXRSServerFactoryBean createFactoryInstance(final Application application, final BeanManager beanManager) { final JAXRSServerFactoryBean instance = ResourceUtils.createApplication(application, false, false, false, bus); final ClassifiedClasses classified = classes2singletons(application, beanManager); instance.setProviders(classified.getProviders()); instance.getFeatures().addAll(classified.getFeatures()); for (final ResourceProvider resourceProvider: classified.getResourceProviders()) { instance.setResourceProvider(resourceProvider.getResourceClass(), resourceProvider); } return instance; }
protected void setup(Config config) { address = getServerAddress(); Application application = new Application() { public Set<Class<?>> getClasses() { return config.getServerClasses(); } public Set<Object> getSingletons() { return config.getServerSingletons(); } }; JAXRSServerFactoryBean serverFactory = ResourceUtils.createApplication(application, true, false, false, null); serverFactory.setAddress(address); server = serverFactory.create(); server.start(); clientClasses = config.getClientClasses(); clientSingletons = config.getClientSingletons(); }
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(); }
JAXRSServerFactoryBean bean = ResourceUtils.createApplication( app, ignoreApplicationPath,
protected void createServerFromApplication(ServletConfig servletConfig) throws ServletException { Application app = getApplication(); JAXRSServerFactoryBean bean = ResourceUtils.createApplication( app, isIgnoreApplicationPath(servletConfig), getStaticSubResolutionValue(servletConfig), isAppResourceLifecycleASingleton(app, servletConfig), getBus()); String splitChar = getParameterSplitChar(servletConfig); setAllInterceptors(bean, servletConfig, splitChar); setInvoker(bean, servletConfig); setExtensions(bean, servletConfig); setDocLocation(bean, servletConfig); setSchemasLocations(bean, servletConfig); List<?> providers = getProviders(servletConfig, splitChar); bean.setProviders(providers); List<? extends Feature> features = getFeatures(servletConfig, splitChar); bean.setFeatures(features); bean.setBus(getBus()); bean.setApplication(getApplication()); bean.create(); }