org_apache_struts2_StrutsSpringJUnit4TestCaseTest_java
org.springframework.context.annotation.ConfigurationClassUtils
public static boolean checkConfigurationClassCandidate(BeanDefinition beanDef, MetadataReaderFactory metadataReaderFactory) {
        AnnotationMetadata metadata;
        String className = beanDef.getBeanClassName();
        if (className == null || beanDef.getFactoryMethodName() != null) {
            return false;
        }
        if (beanDef instanceof AnnotatedBeanDefinition && className.equals(((AnnotatedBeanDefinition)beanDef).getMetadata().getClassName())) {
            metadata = ((AnnotatedBeanDefinition)beanDef).getMetadata();
        } else if (beanDef instanceof AbstractBeanDefinition && ((AbstractBeanDefinition)beanDef).hasBeanClass()) {
            Class<?> beanClass = ((AbstractBeanDefinition)beanDef).getBeanClass();
            metadata = new StandardAnnotationMetadata(beanClass, true);
        } else {
            try {
                MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(className);
                metadata = metadataReader.getAnnotationMetadata();
            }
            catch (IOException ex) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Could not find class file for introspecting configuration annotations: " + className, ex);
                }
                return false;
            }
        }
        if (ConfigurationClassUtils.isFullConfigurationCandidate(metadata)) {
            beanDef.setAttribute(CONFIGURATION_CLASS_ATTRIBUTE, CONFIGURATION_CLASS_FULL);
        } else if (ConfigurationClassUtils.isLiteConfigurationCandidate(metadata)) {
            beanDef.setAttribute(CONFIGURATION_CLASS_ATTRIBUTE, CONFIGURATION_CLASS_LITE);
        } else {
            return false;
        }
        Map<String, Object> orderAttributes = metadata.getAnnotationAttributes(Order.class.getName());
        if (orderAttributes != null) {
            beanDef.setAttribute(ORDER_ATTRIBUTE, orderAttributes.get("value"));
        }
        return true;
    }
 -> java.lang.Class.getName(): java.lang.String -> java.lang.Class.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.Class.getName(): java.lang.String -> java.lang.Class.isInterface(): boolean -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.Class.getName(): java.lang.String -> java.lang.Class.getDeclaredMethods(): java.lang.reflect.Method[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[]
 [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Class.getAnnotations(): java.lang.annotation.Annotation[] [EXIT] [CALL] -> java.lang.Class.getName(): java.lang.String [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.isInterface(): boolean [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.lang.Class.getName(): java.lang.String [CALL] [CALL] [EXIT] -> java.lang.Class.getDeclaredMethods(): java.lang.reflect.Method[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getAnnotations(): java.lang.annotation.Annotation[] [EXIT] [EXIT] [EXIT]