if (GetRestful.isRootResource(beanClass))
/** * Set a default scope for each CDI bean which is a JAX-RS Resource. * * @param <T> type * @param event event * @param beanManager bean manager */ public <T> void observeResources(@WithAnnotations({Path.class}) @Observes ProcessAnnotatedType<T> event, BeanManager beanManager) { setBeanManager(beanManager); AnnotatedType<T> annotatedType = event.getAnnotatedType(); if(!annotatedType.getJavaClass().isInterface() && !isSessionBean(annotatedType) // This check is redundant for CDI 1.1 containers but required for CDI 1.0 && GetRestful.isRootResource(annotatedType.getJavaClass()) && !annotatedType.isAnnotationPresent(Decorator.class)) { LogMessages.LOGGER.debug(Messages.MESSAGES.discoveredCDIBeanJaxRsResource(annotatedType.getJavaClass().getCanonicalName())); event.setAnnotatedType(wrapAnnotatedType(annotatedType, requestScopedLiteral)); this.resources.add(annotatedType.getJavaClass()); } }
if (GetRestful.isRootResource(clazz)) if (GetRestful.isRootResource(obj.getClass()))
if (GetRestful.isRootResource(clazz)) if (GetRestful.isRootResource(obj.getClass()))
public void processInjector(final Injector injector) { List<Binding<?>> rootResourceBindings = new ArrayList<Binding<?>>(); for (final Binding<?> binding : injector.getBindings().values()) { final Type type = binding.getKey().getTypeLiteral().getRawType(); if (type instanceof Class) { final Class<?> beanClass = (Class) type; if (GetRestful.isRootResource(beanClass)) { // deferred registration rootResourceBindings.add(binding); } if (beanClass.isAnnotationPresent(Provider.class)) { LogMessages.LOGGER.info(Messages.MESSAGES.registeringProviderInstance(beanClass.getName())); providerFactory.registerProviderInstance(binding.getProvider().get()); } } } for (Binding<?> binding : rootResourceBindings) { Class<?> beanClass = (Class) binding.getKey().getTypeLiteral().getType(); final ResourceFactory resourceFactory = new GuiceResourceFactory(binding.getProvider(), beanClass); LogMessages.LOGGER.info(Messages.MESSAGES.registeringFactory(beanClass.getName())); registry.addResourceFactory(resourceFactory); } } }
private void validate(HttpRequest request, T instance) { if (GetRestful.isRootResource(clazz)) { ResteasyProviderFactory providerFactory = ResteasyProviderFactory.getInstance(); ContextResolver<GeneralValidatorCDI> resolver = providerFactory.getContextResolver(GeneralValidatorCDI.class, MediaType.WILDCARD_TYPE); if (resolver != null) { validator = providerFactory.getContextResolver(GeneralValidatorCDI.class, MediaType.WILDCARD_TYPE).getContext(null); } if (validator != null && validator.isValidatableFromCDI(clazz)) { validator.validate(request, instance); validator.checkViolationsfromCDI(request); } } } }
@Override public void validateAllParameters(HttpRequest request, Object object, Method method, Object[] parameterValues, Class<?>... groups) { Validator validator = getValidator(request); SimpleViolationsContainer violationsContainer = getViolationsContainer(request, object); if (method.getParameterTypes().length == 0) { checkViolations(request); return; } Set<ConstraintViolation<Object>> cvs = null; try { cvs = validator.forExecutables().validateParameters(object, method, parameterValues, groups); } catch (Exception e) { violationsContainer.setException(e); throw toValidationException(e, violationsContainer); } violationsContainer.addViolations(cvs); if ((violationsContainer.isFieldsValidated() || !GetRestful.isRootResource(object.getClass()) || hasApplicationScope(object)) && violationsContainer.size() > 0) { throw new ResteasyViolationExceptionImpl(violationsContainer, request.getHttpHeaders().getAcceptableMediaTypes()); } }
if (GetRestful.isRootResource(clazz)) if (GetRestful.isRootResource(obj.getClass()))
if (GetRestful.isRootResource(clazz)) if (GetRestful.isRootResource(obj.getClass()))
if (!GetRestful.isRootResource(ejbClass)) continue; String jndiName = getLocalJndiName(ejb, ejbClass); log.debug("Found JAX-RS EJB: " + ejbClass.getName() + " local jndi name: " + jndiName);
/** * Set a default scope for each CDI bean which is a JAX-RS Resource. * * @param <T> type * @param event event * @param beanManager bean manager */ public <T> void observeResources(@WithAnnotations({Path.class}) @Observes ProcessAnnotatedType<T> event, BeanManager beanManager) { setBeanManager(beanManager); AnnotatedType<T> annotatedType = event.getAnnotatedType(); if(!annotatedType.getJavaClass().isInterface() && !isSessionBean(annotatedType) // This check is redundant for CDI 1.1 containers but required for CDI 1.0 && GetRestful.isRootResource(annotatedType.getJavaClass()) && !annotatedType.isAnnotationPresent(Decorator.class)) { LogMessages.LOGGER.debug(Messages.MESSAGES.discoveredCDIBeanJaxRsResource(annotatedType.getJavaClass().getCanonicalName())); event.setAnnotatedType(wrapAnnotatedType(annotatedType, requestScopedLiteral)); this.resources.add(annotatedType.getJavaClass()); } }
if (GetRestful.isRootResource(clazz)) if (GetRestful.isRootResource(obj.getClass()))
if (GetRestful.isRootResource(clazz)) if (GetRestful.isRootResource(obj.getClass()))
if (GetRestful.isRootResource(clazz)) if (GetRestful.isRootResource(obj.getClass()))
public void processInjector(final Injector injector) { List<Binding<?>> rootResourceBindings = new ArrayList<Binding<?>>(); for (final Binding<?> binding : injector.getBindings().values()) { final Type type = binding.getKey().getTypeLiteral().getRawType(); if (type instanceof Class) { final Class<?> beanClass = (Class) type; if (GetRestful.isRootResource(beanClass)) { // deferred registration rootResourceBindings.add(binding); } if (beanClass.isAnnotationPresent(Provider.class)) { LogMessages.LOGGER.info(Messages.MESSAGES.registeringProviderInstance(beanClass.getName())); providerFactory.registerProviderInstance(binding.getProvider().get()); } } } for (Binding<?> binding : rootResourceBindings) { Class<?> beanClass = (Class) binding.getKey().getTypeLiteral().getType(); final ResourceFactory resourceFactory = new GuiceResourceFactory(binding.getProvider(), beanClass); LogMessages.LOGGER.info(Messages.MESSAGES.registeringFactory(beanClass.getName())); registry.addResourceFactory(resourceFactory); } } }
throw new DeploymentUnitProcessingException(e); if (!GetRestful.isRootResource(componentClass)) continue;
@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()); } } } } }
throw new DeploymentUnitProcessingException(e); if (!GetRestful.isRootResource(componentClass)) continue;
throw new DeploymentUnitProcessingException(e); if (!GetRestful.isRootResource(componentClass)) continue;
private void validate(HttpRequest request, T instance) { if (GetRestful.isRootResource(clazz)) { ResteasyProviderFactory providerFactory = ResteasyProviderFactory.getInstance(); ContextResolver<GeneralValidatorCDI> resolver = providerFactory.getContextResolver(GeneralValidatorCDI.class, MediaType.WILDCARD_TYPE); if (resolver != null) { validator = providerFactory.getContextResolver(GeneralValidatorCDI.class, MediaType.WILDCARD_TYPE).getContext(null); } if (validator != null && validator.isValidatableFromCDI(clazz)) { validator.validate(request, instance); validator.checkViolationsfromCDI(request); } } } }