Example usage for org.springframework.beans.factory.parsing ReaderEventListener componentRegistered

List of usage examples for org.springframework.beans.factory.parsing ReaderEventListener componentRegistered

Introduction

In this page you can find the example usage for org.springframework.beans.factory.parsing ReaderEventListener componentRegistered.

Prototype

void componentRegistered(ComponentDefinition componentDefinition);

Source Link

Document

Notification that the given component has been registered.

Usage

From source file:org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig.java

public void registerBean(ReaderEventListener eventListener, ClassLoader classloader) throws IOException {
    IJavaProject project = this.configClass.getJavaProject();
    if (project == null) {
        return;/*w  w w  .j a va  2s.co  m*/
    }

    CachingJdtMetadataReaderFactory metadataReaderFactory = new CachingJdtMetadataReaderFactory(project,
            classloader);
    MetadataReader metadataReader = metadataReaderFactory
            .getMetadataReader(this.configClass.getFullyQualifiedName());

    AnnotatedGenericBeanDefinition abd = new AnnotatedGenericBeanDefinition(
            metadataReader.getAnnotationMetadata());

    //      AnnotationMetadata metadata = abd.getMetadata();
    //      if (metadata.isAnnotated(Profile.class.getName())) {
    //         AnnotationAttributes profile = MetadataUtils.attributesFor(metadata, Profile.class);
    //         if (!this.environment.acceptsProfiles(profile.getStringArray("value"))) {
    //            return;
    //         }
    //      }
    //      ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(abd);
    //      abd.setScope(scopeMetadata.getScopeName());
    abd.setScope(BeanDefinition.SCOPE_SINGLETON);

    AnnotationBeanNameGenerator nameGenerator = new AnnotationBeanNameGenerator();
    String beanName = nameGenerator.generateBeanName(abd, this.registry);
    //      AnnotationConfigUtils.processCommonDefinitionAnnotations(abd);
    //      if (qualifiers != null) {
    //         for (Class<? extends Annotation> qualifier : qualifiers) {
    //            if (Primary.class.equals(qualifier)) {
    //               abd.setPrimary(true);
    //            }
    //            else if (Lazy.class.equals(qualifier)) {
    //               abd.setLazyInit(true);
    //            }
    //            else {
    //               abd.addQualifier(new AutowireCandidateQualifier(qualifier));
    //            }
    //         }
    //      }
    BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(abd, beanName);
    //      definitionHolder = AnnotationConfigUtils.applyScopedProxyMode(scopeMetadata, definitionHolder, this.registry);
    BeanDefinitionReaderUtils.registerBeanDefinition(definitionHolder, this.registry);
    eventListener.componentRegistered(new BeanComponentDefinition(abd, beanName));
}

From source file:org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig.java

/**
 * register the default annotation processors
 *///www . j a  v a 2 s .  c  o  m
protected void registerAnnotationProcessors(ReaderEventListener eventListener) {
    Set<BeanDefinitionHolder> processorDefinitions = AnnotationConfigUtils
            .registerAnnotationConfigProcessors(registry, null);

    // Nest the concrete beans in the surrounding component.
    for (BeanDefinitionHolder processorDefinition : processorDefinitions) {
        eventListener.componentRegistered(new BeanComponentDefinition(processorDefinition));
    }
}