Example usage for org.springframework.beans.factory.support BeanDefinitionRegistry getBeanDefinition

List of usage examples for org.springframework.beans.factory.support BeanDefinitionRegistry getBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support BeanDefinitionRegistry getBeanDefinition.

Prototype

BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;

Source Link

Document

Return the BeanDefinition for the given bean name.

Usage

From source file:Main.java

/**
 * Register a {@link ScriptFactoryPostProcessor} bean definition in the supplied
 * {@link BeanDefinitionRegistry} if the {@link ScriptFactoryPostProcessor} hasn't
 * already been registered.//  w  ww  .  ja va  2 s  .  c  om
 * @param registry the {@link BeanDefinitionRegistry} to register the script processor with
 * @return the {@link ScriptFactoryPostProcessor} bean definition (new or already registered)
 */
public static BeanDefinition registerScriptFactoryPostProcessorIfNecessary(BeanDefinitionRegistry registry) {
    BeanDefinition beanDefinition = null;
    if (registry.containsBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME)) {
        beanDefinition = registry.getBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME);
    } else {
        beanDefinition = new RootBeanDefinition(ScriptFactoryPostProcessor.class);
        registry.registerBeanDefinition(SCRIPT_FACTORY_POST_PROCESSOR_BEAN_NAME, beanDefinition);
    }
    return beanDefinition;
}

From source file:de.acosix.alfresco.mtsupport.repo.beans.TenantBeanUtils.java

/**
 * Retrieves a specific bean definition for a specific tenant from the provided registry. This operation should only be used when each
 * tenant domain is backed by its own implementation bean for a feature.
 *
 * @param registry//from w  w w . j av a  2 s  .co m
 *            the bean definition registry from which to retrieve the bean definition
 * @param baseBeanName
 *            the base bean name
 * @param tenantDomain
 *            the tenant domain for which to retrieve the bean definition
 * @return the bean definition
 */
public static BeanDefinition getBeanDefinitionForTenant(final BeanDefinitionRegistry registry,
        final String baseBeanName, final String tenantDomain) {
    ParameterCheck.mandatory("registry", registry);
    ParameterCheck.mandatoryString("baseBeanName", baseBeanName);
    ParameterCheck.mandatoryString("tenantDomain", tenantDomain);

    final String expectedBeanName = baseBeanName + TENANT_BEAN_NAME_PATTERN + tenantDomain;
    final BeanDefinition beanDefinition = registry.getBeanDefinition(expectedBeanName);
    return beanDefinition;
}

From source file:org.activiti.spring.components.config.xml.StateHandlerAnnotationBeanFactoryPostProcessor.java

private boolean beanAlreadyConfigured(BeanDefinitionRegistry registry, String beanName, Class clz) {
    if (registry.isBeanNameInUse(beanName)) {
        BeanDefinition bDef = registry.getBeanDefinition(beanName);
        if (bDef.getBeanClassName().equals(clz.getName())) {
            return true; // so the beans already registered, and of the right type. so we assume the user is overriding our configuration
        } else {/*from   www. ja  va 2 s.c om*/
            throw new IllegalStateException("The bean name '" + beanName + "' is reserved.");
        }
    }
    return false;
}

From source file:org.wallride.autoconfigure.WebAdminComponentScanRegistrar.java

private void updateWebAdminComponentScanBeanPostProcessor(BeanDefinitionRegistry registry,
        Set<String> packagesToScan) {
    BeanDefinition definition = registry.getBeanDefinition(BEAN_NAME);
    ConstructorArgumentValues.ValueHolder constructorArguments = definition.getConstructorArgumentValues()
            .getGenericArgumentValue(String[].class);
    Set<String> mergedPackages = new LinkedHashSet<>();
    mergedPackages.addAll(Arrays.asList((String[]) constructorArguments.getValue()));
    mergedPackages.addAll(packagesToScan);
    constructorArguments.setValue(toArray(mergedPackages));
}

From source file:org.wallride.autoconfigure.WebGuestComponentScanRegistrar.java

private void updateWebGuestComponentScanBeanPostProcessor(BeanDefinitionRegistry registry,
        Set<String> packagesToScan) {
    BeanDefinition definition = registry.getBeanDefinition(BEAN_NAME);
    ConstructorArgumentValues.ValueHolder constructorArguments = definition.getConstructorArgumentValues()
            .getGenericArgumentValue(String[].class);
    Set<String> mergedPackages = new LinkedHashSet<>();
    mergedPackages.addAll(Arrays.asList((String[]) constructorArguments.getValue()));
    mergedPackages.addAll(packagesToScan);
    constructorArguments.setValue(toArray(mergedPackages));
}

From source file:com.github.philippn.springremotingautoconfigure.server.annotation.HttpInvokerServiceExporterRegistrar.java

@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
    for (String beanName : registry.getBeanDefinitionNames()) {
        BeanDefinition definition = registry.getBeanDefinition(beanName);
        if (definition.getBeanClassName() != null) {
            try {
                Class<?> resolvedClass = ClassUtils.forName(definition.getBeanClassName(), null);
                Class<?>[] beanInterfaces = resolvedClass.getInterfaces();
                for (Class<?> clazz : beanInterfaces) {
                    if (AnnotationUtils.isAnnotationDeclaredLocally(RemoteExport.class, clazz)) {
                        setupExport(clazz, beanName, registry);
                    }//from w ww  . j  a va  2 s. c  o m
                }
            } catch (ClassNotFoundException e) {
                throw new IllegalStateException("Unable to inspect class " + definition.getBeanClassName()
                        + " for @RemoteExport annotations");
            }
        }
    }
}

From source file:org.jdal.beans.RoleBeanDefinitionConfigurer.java

/**
 * {@inheritDoc}// ww w.  ja va 2 s.  c  om
 */
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {

    if (beanNames == null)
        return;

    for (String name : beanNames) {
        if (registry.containsBeanDefinition(name))
            ((AbstractBeanDefinition) registry.getBeanDefinition(name))
                    .setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    }
}

From source file:com.rosenvold.spring.SpringContextAnalyzer.java

BeanDefinition getBeanDefinition(String beanName) {
    BeanDefinitionRegistry beanDefinitionRegistry = (BeanDefinitionRegistry) applicationContext;
    return beanDefinitionRegistry.getBeanDefinition(beanName);
}

From source file:minium.script.js.JsVariablePostProcessor.java

@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
    String[] beanDefinitionNames = registry.getBeanDefinitionNames();
    for (String beanDefinitionName : beanDefinitionNames) {
        BeanDefinition beanDefinition = registry.getBeanDefinition(beanDefinitionName);
        if (beanDefinition instanceof AnnotatedBeanDefinition) {
            MethodMetadata metadata = ((AnnotatedBeanDefinition) beanDefinition).getFactoryMethodMetadata();
            if (metadata == null)
                continue;
            MultiValueMap<String, Object> attrs = metadata
                    .getAllAnnotationAttributes(JsVariable.class.getName());
            if (attrs == null)
                continue;
            variables.put(beanDefinitionName, attrs);
        }/* w  w w. ja  v a 2s.  c o  m*/
    }
}

From source file:com.capgemini.boot.core.factory.internal.SettingBackedBeanFactoryPostProcessor.java

private Class<?> getClassForBeanName(String beanName, BeanDefinitionRegistry registry) {
    final String factoryClassName = registry.getBeanDefinition(beanName).getBeanClassName();

    try {//from  w w  w  .  j  a v  a2 s.co  m
        return Class.forName(factoryClassName);
    } catch (ClassNotFoundException e) {
        throw getExceptionFactory().createGenericException("Bean class cannot be found", e);
    }
}