Example usage for org.springframework.beans.factory.support BeanDefinitionReaderUtils generateBeanName

List of usage examples for org.springframework.beans.factory.support BeanDefinitionReaderUtils generateBeanName

Introduction

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

Prototype

public static String generateBeanName(BeanDefinition beanDefinition, BeanDefinitionRegistry registry)
        throws BeanDefinitionStoreException 

Source Link

Document

Generate a bean name for the given top-level bean definition, unique within the given bean factory.

Usage

From source file:org.activiti.spring.components.aop.util.Scopifier.java

@Override
protected Object resolveValue(Object value) {

    BeanDefinition definition = null;//w ww  .  j a  va  2  s . co m
    String beanName = null;
    if (value instanceof BeanDefinition) {
        definition = (BeanDefinition) value;
        beanName = BeanDefinitionReaderUtils.generateBeanName(definition, registry);
    } else if (value instanceof BeanDefinitionHolder) {
        BeanDefinitionHolder holder = (BeanDefinitionHolder) value;
        definition = holder.getBeanDefinition();
        beanName = holder.getBeanName();
    }

    if (definition != null) {
        boolean nestedScoped = scope.equals(definition.getScope());
        boolean scopeChangeRequiresProxy = !scoped && nestedScoped;
        if (scopeChangeRequiresProxy) {
            // Exit here so that nested inner bean definitions are not
            // analysed
            return createScopedProxy(beanName, definition, registry, proxyTargetClass);
        }
    }

    // Nested inner bean definitions are recursively analysed here
    value = super.resolveValue(value);
    return value;
}

From source file:ductive.console.config.EnableConsoleFilesRegistrar.java

@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata,
        BeanDefinitionRegistry registry) {
    AnnotationAttributes attr = AnnotationAttributes
            .fromMap(importingClassMetadata.getAnnotationAttributes(EnableConsoleFiles.class.getName()));

    //AnnotationAttributes files = AnnotationAttributes.class.cast(attr.get());
    AnnotationAttributes[] files = attr.getAnnotationArray("value");

    for (AnnotationAttributes f : files) {
        RootBeanDefinition beanDefinition = new RootBeanDefinition(ConsoleFileWriter.class);
        beanDefinition.getPropertyValues().add("path", f.getString("path"));
        beanDefinition.getPropertyValues().add("template", f.getString("template"));
        beanDefinition.getPropertyValues().add("permissions", f.getString("permissions"));
        beanDefinition.getPropertyValues().add("varPrefix", f.getString("varPrefix"));
        beanDefinition.getPropertyValues().add("varPostfix", f.getString("varPostfix"));
        beanDefinition.getPropertyValues().add("enabled", f.getString("enabled"));
        registry.registerBeanDefinition(BeanDefinitionReaderUtils.generateBeanName(beanDefinition, registry),
                beanDefinition);/*from   w ww .  j a v a2 s .  c  o m*/
    }
}

From source file:org.os890.ds.addon.spring.impl.CdiAwareBeanFactoryPostProcessor.java

private String createBeanName(Bean<?> bean, BeanDefinition beanDefinition, BeanDefinitionRegistry registry) {
    String beanName = bean.getName();

    if (beanName == null) {
        return BeanDefinitionReaderUtils.generateBeanName(beanDefinition, registry);
    }/*from   w ww .j  a  v  a 2  s  . c om*/
    return beanName;
}

From source file:org.springframework.hateoas.config.HypermediaSupportBeanDefinitionRegistrar.java

@Override
public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {

    linkBuilderBeanDefinitionRegistrar.registerBeanDefinitions(metadata, registry);

    Map<String, Object> attributes = metadata.getAnnotationAttributes(EnableHypermediaSupport.class.getName());
    Collection<HypermediaType> types = Arrays.asList((HypermediaType[]) attributes.get("type"));

    for (HypermediaType type : types) {

        if (JSONPATH_PRESENT) {

            AbstractBeanDefinition linkDiscovererBeanDefinition = getLinkDiscovererBeanDefinition(type);
            registerBeanDefinition(/*from  w  w w  .  j  a  va  2 s.co  m*/
                    new BeanDefinitionHolder(linkDiscovererBeanDefinition,
                            BeanDefinitionReaderUtils.generateBeanName(linkDiscovererBeanDefinition, registry)),
                    registry);
        }
    }

    if (types.contains(HypermediaType.HAL)) {

        if (JACKSON2_PRESENT) {

            BeanDefinitionBuilder halQueryMapperBuilder = rootBeanDefinition(ObjectMapper.class);
            registerSourcedBeanDefinition(halQueryMapperBuilder, metadata, registry,
                    HAL_OBJECT_MAPPER_BEAN_NAME);

            BeanDefinitionBuilder builder = rootBeanDefinition(
                    Jackson2ModuleRegisteringBeanPostProcessor.class);
            registerSourcedBeanDefinition(builder, metadata, registry);
        }
    }

    if (!types.isEmpty()) {

        BeanDefinitionBuilder linkDiscoverersRegistryBuilder = BeanDefinitionBuilder
                .rootBeanDefinition(PluginRegistryFactoryBean.class);
        linkDiscoverersRegistryBuilder.addPropertyValue("type", LinkDiscoverer.class);
        registerSourcedBeanDefinition(linkDiscoverersRegistryBuilder, metadata, registry,
                LINK_DISCOVERER_REGISTRY_BEAN_NAME);

        BeanDefinitionBuilder linkDiscoverersBuilder = BeanDefinitionBuilder
                .rootBeanDefinition(LinkDiscoverers.class);
        linkDiscoverersBuilder.addConstructorArgReference(LINK_DISCOVERER_REGISTRY_BEAN_NAME);
        registerSourcedBeanDefinition(linkDiscoverersBuilder, metadata, registry);
    }

    registerRelProviderPluginRegistryAndDelegate(registry);
}

From source file:com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar.java

private String resolveSingleBeanName(Class<? extends AbstractConfig> configClass,
        Map<String, String> properties, BeanDefinitionRegistry registry) {

    String beanName = properties.get("id");

    if (!StringUtils.hasText(beanName)) {
        BeanDefinitionBuilder builder = rootBeanDefinition(configClass);
        beanName = BeanDefinitionReaderUtils.generateBeanName(builder.getRawBeanDefinition(), registry);
    }// ww w.  j av a2  s. c  o m

    return beanName;

}

From source file:org.springframework.hateoas.config.HypermediaSupportBeanDefinitionRegistrar.java

private static String registerSourcedBeanDefinition(BeanDefinitionBuilder builder, AnnotationMetadata metadata,
        BeanDefinitionRegistry registry) {

    AbstractBeanDefinition beanDefinition = builder.getBeanDefinition();
    String generateBeanName = BeanDefinitionReaderUtils.generateBeanName(beanDefinition, registry);
    return registerSourcedBeanDefinition(builder, metadata, registry, generateBeanName);
}

From source file:org.apache.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar.java

private String resolveSingleBeanName(Map<String, String> properties,
        Class<? extends AbstractConfig> configClass, BeanDefinitionRegistry registry) {

    String beanName = properties.get("id");

    if (!StringUtils.hasText(beanName)) {
        BeanDefinitionBuilder builder = rootBeanDefinition(configClass);
        beanName = BeanDefinitionReaderUtils.generateBeanName(builder.getRawBeanDefinition(), registry);
    }//from  w  ww  .  j av  a2 s .c  om

    return beanName;

}

From source file:org.springframework.integration.flow.config.FlowUtils.java

/**
 * Register a bean with "flow" prefix//from   www.j ava 2s.c  om
 * 
 * @param beanDefinition
 * @param registry
 * @return
 */
public static String registerBeanDefinition(BeanDefinition beanDefinition, BeanDefinitionRegistry registry) {
    String beanName = BeanDefinitionReaderUtils.generateBeanName(beanDefinition, registry);
    beanName = "flow." + beanName;
    String strIndex = org.apache.commons.lang.StringUtils.substringAfter(beanName, "#");
    int index = Integer.valueOf(strIndex);
    while (registry.isBeanNameInUse(beanName)) {
        index++;
        beanName = beanName.replaceAll("#\\d$", "#" + (index));
    }
    registry.registerBeanDefinition(beanName, beanDefinition);
    return beanName;
}