public SpringObjectFactory getSpringObjectFactory(T object, String beanName) { Class<? extends Object> cls = object.getClass(); if (ResourceMetadataCollector.isStaticResource(cls) || ProviderMetadataCollector .isProvider(cls)) { return class2factory.get(cls); } if (ResourceMetadataCollector.isDynamicResource(cls)) { return id2factory.get(beanName); } return null; }
private static void processSingletons(ProvidersRegistry providersRegistry, Set<Object> singletons) { for (Object obj : singletons) { Class<?> cls = obj.getClass(); if (ProviderMetadataCollector.isProvider(cls)) { providersRegistry.addProvider(obj); } else { if (logger.isWarnEnabled()) { logger.warn(Messages.getMessage("classNotAProvider", obj.getClass())); //$NON-NLS-1$ } } } }
private static void processClasses(ProvidersRegistry providersRegistry, Set<Class<?>> classes) { for (Class<?> cls : classes) { if (ProviderMetadataCollector.isProvider(cls)) { providersRegistry.addProvider(cls); } else { if (logger.isWarnEnabled()) { logger.warn(Messages.getMessage("classNotAProvider", cls)); //$NON-NLS-1$ } } } }
@SuppressWarnings("unchecked") public ObjectFactory<T> createObjectFactory(T object) throws ObjectCreationException { Class<? extends Object> cls = object.getClass(); if (ResourceMetadataCollector.isStaticResource(cls) || ProviderMetadataCollector .isProvider(cls)) { return (ObjectFactory<T>)class2factory.get(cls); } if (ResourceMetadataCollector.isDynamicResource(cls)) { DynamicResource dynResource = (DynamicResource)object; String beanName = dynResource.getBeanName(); return (ObjectFactory<T>)id2factory.get(beanName); } return null; }
/** * Process the given {@link Set} of {@link Class} objects and add them to the JAX-RS Class List if they are valid * JAX-RS Classes * * @param classes {@link Set} of {@link Class} objects to process */ private void processClasses(Set<Class<?>> classes) { for (Class<?> cls : classes) { if (ProviderMetadataCollector.isProvider(cls)) { LOGGER.log(Level.FINE, "Loaded REST Provider class: " + cls.getName()); jaxRSClasses.add(cls); } else if (ResourceMetadataCollector.isResource(cls)) { final Parent parent = (Parent) cls.getAnnotation(Parent.class); if ((parent != null && BaseRestResource.class.equals(parent.value()))) { LOGGER.log(Level.FINE, "Loaded REST Resource class: " + cls.getName()); jaxRSClasses.add(cls); } else if (BaseRestResource.class.equals(cls)) { LOGGER.log(Level.FINE, "Loaded Base REST Resource class: " + cls.getName()); jaxRSClasses.add(cls); } else { LOGGER.log(Level.FINE, "Class [" + cls.getName() + "] is not a valid REST Resource, " + "the @Parent(BaseRestResource.class) annotation is missing"); } } else { LOGGER.log(Level.FINE, "Skipping class [" + cls.getName() + "]; Its not a REST Resource or Provider"); } } }
/** * Returns true if the resource is valid provider and false otherwise. * Notice that a class with Provider annotation can be validated only once, * since it must be unique. Therefore, calling this method for the same * class can return true only for the first time. * * @param cls * @return true if the resource is valid provider and false otherwise. */ public boolean isValidProvider(Class<?> cls) { return isValidClass(cls) && ProviderMetadataCollector.isProvider(cls) && classUnique(cls); }
public void addResourceOrProvider(Object bean, String beanName, SpringObjectFactory objectFactory) { Class<? extends Object> cls = bean.getClass(); if (ResourceMetadataCollector.isStaticResource(cls) || ProviderMetadataCollector .isProvider(cls)) { SpringObjectFactory old = class2factory.put(cls, objectFactory); if (old != null) { if (logger.isWarnEnabled()) { logger.warn(Messages.getMessage("springClassReplaceNewerObjectFactory", cls)); //$NON-NLS-1$ } } } else { if (logger.isWarnEnabled()) { logger.warn(Messages.getMessage("springBeanNotResourceNorProvider", beanName, cls)); //$NON-NLS-1$ } } }
private void processSingletons(Set<Object> singletons) { for (Object obj : singletons) { Class<?> cls = obj.getClass(); if (ProviderMetadataCollector.isProvider(cls)) { try { providersRegistry.addProvider(obj); } catch (Exception e) { logger.error(Messages.getMessage("exceptionOccurredDuringSingletonProcessing", //$NON-NLS-1$ obj.getClass().getCanonicalName()), e); } catch (NoClassDefFoundError e) { logger.error(Messages.getMessage("exceptionOccurredDuringSingletonProcessing", //$NON-NLS-1$ obj.getClass().getCanonicalName()), e); } } else { logger.warn(Messages.getMessage("classNotAProvider", obj)); //$NON-NLS-1$ } } }
private static void processWinkApplication(ProvidersRegistry providersRegistry, WinkApplication sApplication) { Set<Object> instances = sApplication.getInstances(); double priority = sApplication.getPriority(); if (instances == null) { return; } for (Object obj : instances) { Class<?> cls = obj.getClass(); if (ProviderMetadataCollector.isProvider(cls)) { providersRegistry.addProvider(obj, priority); } else { if (logger.isWarnEnabled()) { logger.warn(Messages.getMessage("classNotAProvider", obj.getClass())); //$NON-NLS-1$ } } } } }
++counter; if (ProviderMetadataCollector.isProvider(cls)) { ++counter;
private void processWinkApplication(WinkApplication sApplication) { Set<Object> instances = sApplication.getInstances(); double priority = sApplication.getPriority(); if (instances == null) { return; } for (Object obj : instances) { Class<?> cls = obj.getClass(); if (ProviderMetadataCollector.isProvider(cls)) { try { providersRegistry.addProvider(obj, priority); } catch (Exception e) { logger.error(Messages.getMessage("exceptionOccurredDuringInstanceProcessing", //$NON-NLS-1$ obj.getClass().getCanonicalName()), e); } catch (NoClassDefFoundError e) { logger.error(Messages.getMessage("exceptionOccurredDuringInstanceProcessing", //$NON-NLS-1$ obj.getClass().getCanonicalName()), e); } } else { logger.warn(Messages.getMessage("classNotAProvider", cls)); //$NON-NLS-1$ } } }
private void processClasses(Set<Class<?>> classes) { for (Class<?> cls : classes) { if (ProviderMetadataCollector.isProvider(cls)) { try { providersRegistry.addProvider(cls); } catch (Exception e) { logger.warn(Messages.getMessage("exceptionOccurredDuringClassProcessing", //$NON-NLS-1$ cls)); logger.warn(Messages.getMessage("listExceptionDuringClassProcessing"), e); //$NON-NLS-1$ } catch (NoClassDefFoundError e) { logger.warn(Messages.getMessage("exceptionOccurredDuringClassProcessing", //$NON-NLS-1$ cls.getCanonicalName())); logger.warn(Messages.getMessage("listExceptionDuringClassProcessing"), e); //$NON-NLS-1$ } } else { logger.warn(Messages.getMessage("classNotAProvider", cls)); //$NON-NLS-1$ } } }
} else if (ProviderMetadataCollector.isProvider(cls)) { providersRegistry.addProvider(obj, priority, isSystemApplication); } else {
.isProvider(cls)) { if (logger.isTraceEnabled()) { logger.trace(Messages.getMessage("loadingClassToApplication", line)); //$NON-NLS-1$
} else if (ProviderMetadataCollector.isProvider(cls)) { providersRegistry.addProvider(cls, priority, isSystemApplication); } else {
} else if (ResourceMetadataCollector.isStaticResource(cls)) { resourceRegistry.addResource(obj, priority); } else if (ProviderMetadataCollector.isProvider(cls)) { providersRegistry.addProvider(obj, priority, isSystemApplication); } else {
public ObjectFactory<T> createObjectFactory(final Class<T> cls) { logger.trace("Entry {}", cls); //$NON-NLS-1$ if (cls == null) { throw new NullPointerException(Messages.getMessage("variableIsNull", "cls")); //$NON-NLS-1$ //$NON-NLS-2$ } if (ResourceMetadataCollector.isDynamicResource(cls)) { // default factory cannot create instance of DynamicResource throw new IllegalArgumentException(Messages .getMessage("cannotCreateDefaultFactoryForDR", String.valueOf(cls))); //$NON-NLS-1$ } ObjectFactory<T> ret = null; if (ApplicationMetadataCollector.isApplication(cls)) { // by default application subclasses are singletons ret = LifecycleManagerUtils.createSingletonObjectFactory(cls); } else if (ProviderMetadataCollector.isProvider(cls)) { // by default providers are singletons ret = LifecycleManagerUtils.createSingletonObjectFactory(cls); } else if (ResourceMetadataCollector.isStaticResource(cls)) { // by default resources are prototypes (created per request) ret = LifecycleManagerUtils.createPrototypeObjectFactory(cls); } if (ret != null) { logger.trace("Exit {}", ret); //$NON-NLS-1$ return ret; } else // unknown object, should never reach this code throw new IllegalArgumentException(Messages .getMessage("cannotCreateDefaultFactoryFor", String.valueOf(cls))); //$NON-NLS-1$ }
protected static <T> ClassMetadata collectClassMetadata(final Class<T> cls, boolean validateConstructor) { ClassMetadata classMetadata = null; if (ProviderMetadataCollector.isProvider(cls)) { classMetadata = ProviderMetadataCollector.collectMetadata(cls); } else if (ResourceMetadataCollector.isResource(cls)) { classMetadata = ResourceMetadataCollector.collectMetadata(cls); } else if (ApplicationMetadataCollector.isApplication(cls)) { classMetadata = ApplicationMetadataCollector.collectMetadata(cls); } else { throw new IllegalArgumentException(Messages.getMessage("cannotCreateFactoryForClass", cls)); //$NON-NLS-1$ } // validate that there is a valid constructor if needed if (validateConstructor && classMetadata.getConstructor().getConstructor() == null) { throw new IllegalStateException(Messages.getMessage("noValidConstructorFoundFor", cls //$NON-NLS-1$ .getCanonicalName())); } return classMetadata; }
public ObjectFactory<T> createObjectFactory(Class<T> cls) { if (cls == null) { return null; } if (JSR250LifecycleManagerUtils.hasJSR250AnnotatedMethod(cls)) { ObjectFactory<T> ret = null; if (ApplicationMetadataCollector.isApplication(cls)) { // by default application subclasses are singletons ret = JSR250LifecycleManagerUtils.createSingletonObjectFactory(cls); } else if (ProviderMetadataCollector.isProvider(cls)) { // by default providers are singletons ret = JSR250LifecycleManagerUtils.createSingletonObjectFactory(cls); } else if (ResourceMetadataCollector.isStaticResource(cls)) { // by default resources are prototypes (created per request) ret = JSR250LifecycleManagerUtils.createPrototypeObjectFactory(cls); } return ret; } // has no JSR250 annotations, do nothing return null; }
ResourceMetadataCollector .collectMetadata(cls))); } else if (ProviderMetadataCollector.isProvider(cls)) { springOFFactory .addResourceOrProvider(bean,