deployment.getDispatcher().getProviderFactory().register(new JacksonProvider(createObjectMapper()));
@Override public HttpResponse createResteasyHttpResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, getDispatcher().getProviderFactory()) { @Override public void addNewCookie(NewCookie cookie) { outputHeaders.add(javax.ws.rs.core.HttpHeaders.SET_COOKIE, cookie); } }; }
@Override protected HttpResponse createServletResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, getDispatcher().getProviderFactory()) { @Override public void addNewCookie(NewCookie cookie) { outputHeaders.add(javax.ws.rs.core.HttpHeaders.SET_COOKIE, cookie); } }; } }
@Override public HttpResponse createResteasyHttpResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, getDispatcher().getProviderFactory()) { @Override public void addNewCookie(NewCookie cookie) { Cookie cook = new Cookie(cookie.getName(), cookie.getValue()); cook.setMaxAge(cookie.getMaxAge()); cook.setVersion(cookie.getVersion()); if (cookie.getDomain() != null) cook.setDomain(cookie.getDomain()); if (cookie.getPath() != null) cook.setPath(cookie.getPath()); cook.setSecure(cookie.isSecure()); if (cookie.getComment() != null) cook.setComment(cookie.getComment()); if (cookie.isHttpOnly()) cook.setHttpOnly(true); this.response.addCookie(cook); } }; }
@Override protected HttpResponse createServletResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, getDispatcher().getProviderFactory()) { @Override public void addNewCookie(NewCookie cookie) { Cookie cook = new Cookie(cookie.getName(), cookie.getValue()); cook.setMaxAge(cookie.getMaxAge()); cook.setVersion(cookie.getVersion()); if (cookie.getDomain() != null) cook.setDomain(cookie.getDomain()); if (cookie.getPath() != null) cook.setPath(cookie.getPath()); cook.setSecure(cookie.isSecure()); if (cookie.getComment() != null) cook.setComment(cookie.getComment()); if (cookie.isHttpOnly()) cook.setHttpOnly(true); this.response.addCookie(cook); } }; } }
@Override public HttpResponse createResteasyHttpResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, dispatcher.getDispatcher().getProviderFactory()); } }
public HttpResponse createResteasyHttpResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, getDispatcher().getProviderFactory()); }
public HttpResponse createResteasyHttpResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, getDispatcher().getProviderFactory()); }
protected HttpResponse createServletResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, getDispatcher().getProviderFactory()); }
protected HttpResponse createServletResponse(HttpServletResponse response) { return new HttpServletResponseWrapper(response, getDispatcher().getProviderFactory()); }
public static Dispatcher createDispatcher() { Dispatcher dispatcher = new SynchronousDispatcher(new ResteasyProviderFactory()); ResteasyProviderFactory.setInstance(dispatcher.getProviderFactory()); RegisterBuiltin.register(dispatcher.getProviderFactory()); return dispatcher; } }
@Override public void removeComponent(final BeanEntry<?, ?> entry) throws Exception { Class<?> type = entry.getImplementationClass(); if (isResource(type)) { getDispatcher().getRegistry().removeRegistrations(type); String path = resourcePath(type); log.debug("Removed resource: {} with path: {}", type.getName(), path); } else { ResteasyProviderFactory providerFactory = getDispatcher().getProviderFactory(); if (providerFactory instanceof SisuResteasyProviderFactory) { ((SisuResteasyProviderFactory) providerFactory).removeRegistrations(type); log.debug("Removed component: {}", type.getName()); } else { log.warn("Component removal not supported; Unable to remove component: {}", type.getName()); } } } }
private void doInit(final ServletConfig servletConfig) throws ServletException { deployment.start(); servletConfig.getServletContext().setAttribute(ResteasyDeployment.class.getName(), deployment); super.init(servletConfig); if (log.isDebugEnabled()) { ResteasyProviderFactory providerFactory = getDispatcher().getProviderFactory(); log.debug("Provider factory: {}", providerFactory); log.debug("Configuration: {}", providerFactory.getConfiguration()); log.debug("Runtime type: {}", providerFactory.getRuntimeType()); log.debug("Built-ins registered: {}", providerFactory.isBuiltinsRegistered()); log.debug("Properties: {}", providerFactory.getProperties()); log.debug("Dynamic features: {}", providerFactory.getServerDynamicFeatures()); log.debug("Enabled features: {}", providerFactory.getEnabledFeatures()); log.debug("Class contracts: {}", providerFactory.getClassContracts()); log.debug("Reader interceptor registry: {}", providerFactory.getServerReaderInterceptorRegistry()); log.debug("Writer interceptor registry: {}", providerFactory.getServerWriterInterceptorRegistry()); log.debug("Injector factory: {}", providerFactory.getInjectorFactory()); log.debug("Instances: {}", providerFactory.getInstances()); log.debug("Exception mappers: {}", providerFactory.getExceptionMappers()); } }
@Override public void addComponent(final BeanEntry<?, ?> entry) throws Exception { Class<?> type = entry.getImplementationClass(); if (isResource(type)) { getDispatcher().getRegistry().addResourceFactory(new SisuResourceFactory(entry)); String path = resourcePath(type); if (path == null) { log.warn("Found resource implementation missing @Path: {}", type.getName()); } else { log.debug("Added resource: {} with path: {}", type.getName(), path); } } else { // TODO: Doesn't seem to be a late-biding/factory here so we create the object early getDispatcher().getProviderFactory().register(entry.getValue()); log.debug("Added component: {}", type.getName()); } }
protected void registerInterfaceSeamComponentResource(Component seamComponent, Class resourceInterface) { log.debug( "registering resource, annotated interface {1}, as Seam component: {0}", seamComponent.getName(), resourceInterface.getName() ); ResourceFactory factory = new SeamResteasyResourceFactory( resourceInterface, seamComponent, getDispatcher().getProviderFactory() ); getDispatcher().getRegistry().addResourceFactory(factory); }
protected void registerSeamComponentProvider(Component seamComponent) { log.debug("registering provider as Seam component: {0}", seamComponent.getName()); getDispatcher().getProviderFactory().registerProviderInstance( Component.getInstance(seamComponent.getName()) ); }
@Override public void init(ServletConfig servletConfig) throws ServletException { this.servletConfig = servletConfig; // Initialise the ServletContainerDispatcher servletContainerDispatcher = new ServletContainerDispatcher(); ConfigurationBootstrap bootstrap = createBootstrap(servletConfig); servletContainerDispatcher.init(servletConfig.getServletContext(), bootstrap, this, this); servletContainerDispatcher.getDispatcher().getDefaultContextObjects().put(ServletConfig.class, servletConfig); // Register additional providers that have been configured for (AdditionalProviderDefinition provider : restIntegrationModule.getAdditionalProviders()) { log.debug("Registering additional provider [{}]", provider.getProviderClass()); super.getDispatcher().getProviderFactory().registerProvider(provider.getProviderClass()); } // Register all currently registered endpoints for (DefinitionProvider<EndpointDefinition> provider : endpointRegistry.getAllProviders()) { try { registerEndpoint(provider); } catch (Exception e) { log.error("Failed to register endpoint [{}]", provider.getMetadata().getReferenceId(), e); // Others should continue to be registered. } } // Listen for changes to the registry to observe endpoints being added or removed registerHandler = systemEventBus.addHandler(EndpointDefinitionRegistryEvent.class, this); }
protected void registerSeamComponentResource(Component seamComponent) { log.debug("registering resource as Seam component: {0}", seamComponent.getName()); ResourceFactory factory = new SeamResteasyResourceFactory( seamComponent.getBeanClass(), seamComponent, getDispatcher().getProviderFactory() ); getDispatcher().getRegistry().addResourceFactory(factory); }
@Override public void init(FilterConfig servletConfig) throws ServletException { super.init(servletConfig); Registry registry = getDispatcher().getRegistry(); ResteasyProviderFactory providerFactory = getDispatcher().getProviderFactory(); for (final Binding<?> binding : injector.getBindings().values()) { Type type = binding.getKey().getTypeLiteral().getType(); if (type instanceof Class) { Class<?> beanClass = (Class) type; if (GetRestful.isRootResource(beanClass)) { ResourceFactory resourceFactory = new GuiceResourceFactory(binding.getProvider(), beanClass); registry.addResourceFactory(resourceFactory); } if (beanClass.isAnnotationPresent(Provider.class)) { providerFactory.registerProviderInstance(binding.getProvider().get()); } } } } }
protected void registerHomeQueryResources(Component seamComponent) { // We can always instantiate this safely here because it can't have dependencies! AbstractResource instance = (AbstractResource) seamComponent.newInstance(); String path = instance.getPath(); if (path != null) { if (!path.startsWith("/")) { path = "/" + path; } log.debug( "registering resource, configured ResourceHome/Query on path {1}, as Seam component: {0}", seamComponent.getName(), path ); ResourceFactory factory = new SeamResteasyResourceFactory( seamComponent.getBeanClass(), seamComponent, getDispatcher().getProviderFactory() ); getDispatcher().getRegistry().addResourceFactory(factory, path); } else { log.error("Unable to register {0} resource on null path, check components.xml", seamComponent.getName()); } }