public Object run() throws PrivilegedActionException { return SpiUtils.build(ectx, ResourceLibraryContractsProviderFactory.class, FACTORY_DEFAULT); } });
private void checkAnnotation(Class<?> clazz, Object instance) throws NamingException, IllegalAccessException, InvocationTargetException { // Initialize fields annotations Field[] fields = getDeclaredFieldBeans(clazz); for (int i = 0; i < fields.length; i++) { Field field = fields[i]; checkFieldAnnotation(field, instance); } // Initialize methods annotations Method[] methods = getDeclaredMethods(clazz); for (int i = 0; i < methods.length; i++) { Method method = methods[i]; checkMethodAnnotation(method, instance); } }
Method[] getDeclaredMethods(Class clazz) { Map<Class,Method[]> declaredMethodBeansMap = getDeclaredMethodBeansMap(); Method[] methods = declaredMethodBeansMap.get(clazz); if (methods == null) { methods = clazz.getDeclaredMethods(); synchronized(declaredMethodBeansMap) { declaredMethodBeansMap.put(clazz, methods); } } return methods; }
@Override public AnnotationProvider getAnnotationProvider(ExternalContext externalContext) { AnnotationProvider annotationProvider = (AnnotationProvider) externalContext.getApplicationMap().get(ANNOTATION_PROVIDER_INSTANCE); if (annotationProvider == null) { annotationProvider = createAnnotationProvider(externalContext); externalContext.getApplicationMap().put(ANNOTATION_PROVIDER_INSTANCE, annotationProvider); } return annotationProvider; }
@Override public List<ServletMapping> getFacesServletMappings( ExternalContext externalContext) { WebXml webXml = WebXml.getWebXml(externalContext); List mapping = webXml.getFacesServletMappings(); // In MyFaces 2.0, getFacesServletMappins is used only at startup // time, so we don't need to cache this result. List<ServletMapping> mappingList = new ArrayList<ServletMapping>(mapping.size()); for (int i = 0; i < mapping.size(); i++) { org.apache.myfaces.shared_impl.webapp.webxml.ServletMapping delegateMapping = (org.apache.myfaces.shared_impl.webapp.webxml.ServletMapping) mapping.get(i); mappingList.add(new ServletMappingImpl(delegateMapping)); } return mappingList; }
@Override protected void checkFieldAnnotation(Field field, Object instance) throws NamingException, IllegalAccessException { super.checkFieldAnnotation(field, instance); if (field.isAnnotationPresent(EJB.class)) { EJB annotation = field.getAnnotation(EJB.class); lookupFieldResource(context, instance, field, annotation.name()); } /*if (field.isAnnotationPresent(WebServiceRef.class)) { WebServiceRef annotation = (WebServiceRef) field.getAnnotation(WebServiceRef.class); lookupFieldResource(context, instance, field, annotation.name()); }*/ if (field.isAnnotationPresent(PersistenceContext.class)) { PersistenceContext annotation = field.getAnnotation(PersistenceContext.class); lookupFieldResource(context, instance, field, annotation.name()); } if (field.isAnnotationPresent(PersistenceUnit.class)) { PersistenceUnit annotation = field.getAnnotation(PersistenceUnit.class); lookupFieldResource(context, instance, field, annotation.name()); } } }
Field[] getDeclaredFieldBeans(Class clazz) { Map<Class,Field[]> declaredFieldBeansMap = getDeclaredFieldBeansMap(); Field[] fields = declaredFieldBeansMap.get(clazz); if (fields == null) { fields = clazz.getDeclaredFields(); synchronized(declaredFieldBeansMap) { declaredFieldBeansMap.put(clazz, fields); } } return fields; }
protected void checkMethodAnnotation(Method method, Object instance) throws NamingException, IllegalAccessException, InvocationTargetException { if (method.isAnnotationPresent(Resource.class)) { Resource annotation = method.getAnnotation(Resource.class); lookupMethodResource(context, instance, method, annotation.name()); } }
protected void checkFieldAnnotation(Field field, Object instance) throws NamingException, IllegalAccessException { if (field.isAnnotationPresent(Resource.class)) { Resource annotation = field.getAnnotation(Resource.class); lookupFieldResource(context, instance, field, annotation.name()); } }
@Override public StateCacheProvider getStateCacheProvider(ExternalContext externalContext) { StateCacheProvider stateCacheProvider = (StateCacheProvider) externalContext.getApplicationMap().get(STATE_CACHE_PROVIDER_INSTANCE); if (stateCacheProvider == null) { stateCacheProvider = createStateCacheProvider(externalContext); externalContext.getApplicationMap().put(STATE_CACHE_PROVIDER_INSTANCE, stateCacheProvider); } return stateCacheProvider; }
private static Map<Class,Field[]> getDeclaredFieldBeansMap() { ClassLoader cl = ClassUtils.getContextClassLoader(); Map<Class,Field[]> metadata = (Map<Class,Field[]>) declaredFieldBeans.get(cl); if (metadata == null) { // Ensure thread-safe put over _metadata, and only create one map // per classloader to hold metadata. synchronized (declaredFieldBeans) { metadata = createDeclaredFieldBeansMap(cl, metadata); } } return metadata; }
private static Map<Class,Method[]> getDeclaredMethodBeansMap() { ClassLoader cl = ClassUtils.getContextClassLoader(); Map<Class,Method[]> metadata = (Map<Class,Method[]>) declaredMethodBeans.get(cl); if (metadata == null) { // Ensure thread-safe put over _metadata, and only create one map // per classloader to hold metadata. synchronized (declaredMethodBeans) { metadata = createDeclaredMethodBeansMap(cl, metadata); } } return metadata; }
@Override public Object inject(Object instance) throws InjectionProviderException { try { processAnnotations(instance); } catch (IllegalAccessException ex) { throw new InjectionProviderException(ex); } catch (InvocationTargetException ex) { throw new InjectionProviderException(ex); } catch (NamingException ex) { throw new InjectionProviderException(ex); } return null; }
public Object run() throws PrivilegedActionException { return SpiUtils.build(ectx, StateCacheProviderFactory.class, FACTORY_DEFAULT); } });
@Override public AnnotationProvider getAnnotationProvider(ExternalContext externalContext) { AnnotationProvider annotationProvider = (AnnotationProvider) externalContext.getApplicationMap().get(ANNOTATION_PROVIDER_INSTANCE); if (annotationProvider == null) { annotationProvider = createAnnotationProvider(externalContext); externalContext.getApplicationMap().put(ANNOTATION_PROVIDER_INSTANCE, annotationProvider); } return annotationProvider; }
public Object run() throws PrivilegedActionException { return SpiUtils.build(ectx, FaceletConfigResourceProviderFactory.class, FACTORY_DEFAULT); } });
@Override public AnnotationProvider getAnnotationProvider(ExternalContext externalContext) { AnnotationProvider annotationProvider = (AnnotationProvider) externalContext.getApplicationMap().get(ANNOTATION_PROVIDER_INSTANCE); if (annotationProvider == null) { annotationProvider = createAnnotationProvider(externalContext); externalContext.getApplicationMap().put(ANNOTATION_PROVIDER_INSTANCE, annotationProvider); } return annotationProvider; }
public Object run() throws PrivilegedActionException { return SpiUtils.build(ectx, ViewScopeProviderFactory.class, FACTORY_DEFAULT); } });
public Object run() throws PrivilegedActionException { return SpiUtils.build(ectx, FacesConfigResourceProviderFactory.class, FACTORY_DEFAULT); } });
public Object run() throws PrivilegedActionException { return SpiUtils.build(ectx, AnnotationProviderFactory.class, FACTORY_DEFAULT); } });