protected static void validateResourceInjectionPointType(Class<?> resourceType, InjectionPoint injectionPoint) { Class<?> injectionPointRawType = Reflections.getRawType(injectionPoint.getType()); HierarchyDiscovery discovery = new HierarchyDiscovery(resourceType); for (Type type : discovery.getTypeClosure()) { if (Reflections.getRawType(type).equals(injectionPointRawType)) { return; } } // type autoboxing if (resourceType.isPrimitive() && BOXED_TYPES.get(resourceType).equals(injectionPointRawType)) { return; } else if (injectionPointRawType.isPrimitive() && BOXED_TYPES.get(injectionPointRawType).equals(resourceType)) { return; } throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), resourceType.getName()); }
protected static void validateResourceInjectionPointType(Class<?> resourceType, InjectionPoint injectionPoint) { Class<?> injectionPointRawType = Reflections.getRawType(injectionPoint.getType()); HierarchyDiscovery discovery = new HierarchyDiscovery(resourceType); for (Type type : discovery.getTypeClosure()) { if (Reflections.getRawType(type).equals(injectionPointRawType)) { return; } } // type autoboxing if (resourceType.isPrimitive() && BOXED_TYPES.get(resourceType).equals(injectionPointRawType)) { return; } else if (injectionPointRawType.isPrimitive() && BOXED_TYPES.get(injectionPointRawType).equals(resourceType)) { return; } throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), resourceType.getName()); }
private void validateWebServiceRefInjectionPoint(InjectionPoint ip, WebServiceRef annotation) { Class<?> rawType = Reflections.getRawType(ip.getType()); if (Service.class.isAssignableFrom(rawType)) { return; } if (!rawType.isAnnotationPresent(WebService.class)) { throw BeanLogger.LOG.invalidResourceProducerType(ip.getAnnotated(), annotation.value()); } }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceContextInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceContextInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceUnitInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceContextInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceContextInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceUnitInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceUnitInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceContextInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceUnitInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceUnitInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceContextInjectionPoint(injectionPoint)); }
@Override protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint, JpaInjectionServices injectionServices, PersistenceApiAbstraction apiAbstraction) { if (!injectionPoint.getType().equals(apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS)) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), apiAbstraction.ENTITY_MANAGER_FACTORY_CLASS); } return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices .registerPersistenceUnitInjectionPoint(injectionPoint)); }
private ResourceReferenceFactory<Object> handleServiceLookup(ViewDescription viewDescription, InjectionPoint injectionPoint) { /* * Try to obtain ComponentView eagerly and validate the resource type */ final ComponentView view = getComponentView(viewDescription); if (view != null && injectionPoint.getAnnotated().isAnnotationPresent(Produces.class)) { Class<?> clazz = view.getViewClass(); Class<?> injectionPointRawType = Reflections.getRawType(injectionPoint.getType()); //we just compare names, as for remote views the actual classes may be loaded from different class loaders Class<?> c = clazz; boolean found = false; while (c != null && c != Object.class) { if (injectionPointRawType.getName().equals(c.getName())) { found = true; break; } c = c.getSuperclass(); } if (!found) { throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), clazz.getName()); } return new ComponentViewToResourceReferenceFactoryAdapter<Object>(view); } else { return new LazyResourceReferenceFactory(viewDescription, serviceRegistry); } }