Example usage for org.springframework.beans.factory.parsing BeanComponentDefinition BeanComponentDefinition

List of usage examples for org.springframework.beans.factory.parsing BeanComponentDefinition BeanComponentDefinition

Introduction

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

Prototype

public BeanComponentDefinition(BeanDefinition beanDefinition, String beanName) 

Source Link

Document

Create a new BeanComponentDefinition for the given bean.

Usage

From source file:eap.config.AnnotationDrivenCacheBeanDefinitionParser.java

/**
 * Registers a//from   ww w. ja  va2 s.c  om
 * <pre>
 * <bean id="cacheAspect" class="org.springframework.cache.aspectj.AnnotationCacheAspect" factory-method="aspectOf">
 *   <property name="cacheManager" ref="cacheManager"/>
 *   <property name="keyGenerator" ref="keyGenerator"/>
 * </bean>
 *
 * </pre>
 * @param element
 * @param parserContext
 */
private void registerCacheAspect(Element element, ParserContext parserContext) {
    if (!parserContext.getRegistry().containsBeanDefinition(CACHE_ASPECT_BEAN_NAME)) {
        RootBeanDefinition def = new RootBeanDefinition();
        def.setBeanClassName(CACHE_ASPECT_CLASS_NAME);
        def.setFactoryMethodName("aspectOf");
        parseCacheManagerProperty(element, def);
        //         CacheNamespaceHandler.parseKeyGenerator(element, def);
        ReflectUtil.invokeMethod(CacheNamespaceHandler.class, "parseKeyGenerator",
                new Class<?>[] { Element.class, BeanDefinition.class }, new Object[] { element, def });
        parserContext.registerBeanComponent(new BeanComponentDefinition(def, CACHE_ASPECT_BEAN_NAME));
    }
}

From source file:org.jdal.vaadin.beans.DefaultsBeanDefinitionParser.java

/**
 * Register default CustomEditorConfigurer
 * @return default CustomEditorComfigurer ComponentDefinition
 *//*from   ww w.  j  a v a 2 s  .c  o m*/
private ComponentDefinition registerPropertyEditors(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(CustomEditorConfigurer.class);
    Map<String, String> map = new HashMap<String, String>();
    map.put("com.vaadin.server.Resource", "org.jdal.vaadin.beans.VaadinResourcePropertyEditor");
    bdb.addPropertyValue("customEditors", map);
    BeanComponentDefinition bcd = new BeanComponentDefinition(bdb.getBeanDefinition(),
            CUSTOM_EDITOR_CONFIGURER_BEAN_NAME);
    registerBeanComponentDefinition(element, parserContext, bcd);
    return bcd;
}

From source file:com.ryantenney.metrics.spring.config.AnnotationDrivenBeanDefinitionParser.java

private String registerComponent(ParserContext parserContext, BeanDefinitionBuilder beanDefBuilder) {
    final BeanDefinition beanDef = beanDefBuilder.getBeanDefinition();
    final String beanName = parserContext.getReaderContext().registerWithGeneratedName(beanDef);
    parserContext.registerComponent(new BeanComponentDefinition(beanDef, beanName));
    return beanName;
}

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

/**
 * Register CollectionTableCellRenderer/*ww w .  ja v  a 2  s .c o  m*/
 * @param element
 * @param parserContext
 * @return
 */
private ComponentDefinition registerCollectionTableCellRenderer(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(CollectionTableCellRenderer.class);
    bdb.setScope(BeanDefinition.SCOPE_PROTOTYPE);
    BeanComponentDefinition bcd = new BeanComponentDefinition(bdb.getBeanDefinition(),
            COLLECTION_TABLE_CELL_RENDERER_BEAN_NAME);
    registerBeanComponentDefinition(element, parserContext, bcd);
    return bcd;
}

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

private void registerBeanDefinition(ParserContext parserContext, BeanDefinitionBuilder builder,
        String beanName) {//ww w.j  av a2 s .c  o m
    BeanComponentDefinition bcd = new BeanComponentDefinition(builder.getBeanDefinition(), beanName);
    parserContext.registerBeanComponent(bcd);
}

From source file:org.springjutsu.validation.namespace.ValidationEntityDefinitionParser.java

/**
 * Do actual parsing./*from   w w w  . j av a 2 s  .c om*/
 * Since rules may be nested, delegate to {@link #parseNestedRules(Element, Class)}
 * where necessary.
 */
public BeanDefinition parse(Element entityNode, ParserContext parserContext) {

    RootBeanDefinition entityDefinition = new RootBeanDefinition(ValidationEntity.class);

    String className = entityNode.getAttribute("class");
    Class<?> modelClass;
    try {
        modelClass = Class.forName(className);
    } catch (ClassNotFoundException cnfe) {
        throw new ValidationParseException("Class " + className + " does not exist as a model class.");
    }

    List<String> excludePaths = new ArrayList<String>();
    NodeList excludes = entityNode.getElementsByTagNameNS(entityNode.getNamespaceURI(), "recursion-exclude");
    for (int excludeNbr = 0; excludeNbr < excludes.getLength(); excludeNbr++) {
        Element excludeNode = (Element) excludes.item(excludeNbr);
        String path = excludeNode.getAttribute("propertyName");
        if (path.contains(".")) {
            throw new ValidationParseException("Invalid recursion-exclude property name \"" + path
                    + "\" Exclude paths should not be nested fields.");
        } else {
            excludePaths.add(path);
        }
    }

    List<String> includePaths = new ArrayList<String>();
    NodeList includes = entityNode.getElementsByTagNameNS(entityNode.getNamespaceURI(), "recursion-include");
    for (int includeNbr = 0; includeNbr < includes.getLength(); includeNbr++) {
        Element includeNode = (Element) includes.item(includeNbr);
        String path = includeNode.getAttribute("propertyName");
        if (path.contains(".")) {
            throw new ValidationParseException("Invalid recursion-include property name \"" + path
                    + "\" Include paths should not be nested fields.");
        } else {
            includePaths.add(path);
        }
    }

    ValidationStructure validationStructure = parseNestedValidation(entityNode, modelClass);

    List<ValidationTemplate> templates = new ArrayList<ValidationTemplate>();
    NodeList templateNodes = entityNode.getElementsByTagNameNS(entityNode.getNamespaceURI(), "template");
    for (int templateNbr = 0; templateNbr < templateNodes.getLength(); templateNbr++) {
        Element templateNode = (Element) templateNodes.item(templateNbr);
        String templateName = templateNode.getAttribute("name");
        ValidationStructure templateValidation = parseNestedValidation(templateNode, modelClass);
        ValidationTemplate template = new ValidationTemplate(templateName, modelClass);
        template.setRules(templateValidation.rules);
        template.setTemplateReferences(templateValidation.refs);
        template.setValidationContexts(templateValidation.contexts);
        templates.add(template);
    }

    entityDefinition.getPropertyValues().add("rules", validationStructure.rules);
    entityDefinition.getPropertyValues().add("templateReferences", validationStructure.refs);
    entityDefinition.getPropertyValues().add("validationContexts", validationStructure.contexts);
    entityDefinition.getPropertyValues().add("validationTemplates", templates);
    entityDefinition.getPropertyValues().add("validationClass", modelClass);
    entityDefinition.getPropertyValues().add("includedPaths", includePaths);
    entityDefinition.getPropertyValues().add("excludedPaths", excludePaths);
    String entityName = parserContext.getReaderContext().registerWithGeneratedName(entityDefinition);
    parserContext.registerComponent(new BeanComponentDefinition(entityDefinition, entityName));
    return null;
}

From source file:org.jdal.vaadin.beans.DefaultsBeanDefinitionParser.java

/**
 * Register default TablePanel Actions//  w w  w  .ja  va2  s. c  o  m
 * @param element current element
 * @param parserContext parserContext
 * @return a new ComponentDefinition with default table action list.
 */
private ComponentDefinition registerDefaultTableActions(Element element, ParserContext parserContext) {
    ManagedList<Object> actions = new ManagedList<Object>(7);
    actions.add(createBeanDefinition(AddAction.class, parserContext));
    actions.add(createBeanDefinition(RefreshAction.class, parserContext));
    actions.add(createBeanDefinition(RemoveAction.class, parserContext));
    actions.add(createBeanDefinition(FindAction.class, parserContext));
    actions.add(createBeanDefinition(ClearFilterAction.class, parserContext));

    BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(ListFactoryBean.class);
    bdb.getRawBeanDefinition().setSource(parserContext.extractSource(element));
    bdb.addPropertyValue("sourceList", actions);
    bdb.setScope(BeanDefinition.SCOPE_PROTOTYPE);
    BeanComponentDefinition bcd = new BeanComponentDefinition(bdb.getBeanDefinition(), DEFAULT_TABLE_ACTIONS);
    registerBeanComponentDefinition(element, parserContext, bcd);
    return bcd;
}

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

/**
 * @return/*  ww w.j  a  v  a2 s.com*/
 */
private ComponentDefinition registerPaginatorView(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(PaginatorView.class);
    bdb.addPropertyValue("pageSizes", "10,20,30,40,50,100,All");
    bdb.setScope(BeanDefinition.SCOPE_PROTOTYPE);
    BeanComponentDefinition bcd = new BeanComponentDefinition(bdb.getBeanDefinition(),
            PAGINATOR_VIEW_BEAN_NAME);
    registerBeanComponentDefinition(element, parserContext, bcd);
    return bcd;
}

From source file:org.agilemicroservices.autoconfigure.orm.RepositoryConfigurationDelegate.java

/**
 * Registers the found repositories in the given {@link BeanDefinitionRegistry}.
 *
 * @param registry//from  ww w  . j  ava2s . c  o m
 * @param extension
 * @return {@link BeanComponentDefinition}s for all repository bean definitions found.
 */
public List<BeanComponentDefinition> registerRepositoriesIn(BeanDefinitionRegistry registry,
        RepositoryConfigurationExtension extension) {

    extension.registerBeansForRoot(registry, configurationSource);

    RepositoryBeanDefinitionBuilder builder = new RepositoryBeanDefinitionBuilder(registry, extension,
            resourceLoader, environment);
    List<BeanComponentDefinition> definitions = new ArrayList<BeanComponentDefinition>();

    for (RepositoryConfiguration<? extends RepositoryConfigurationSource> configuration : extension
            .getRepositoryConfigurations(configurationSource, resourceLoader, inMultiStoreMode)) {

        BeanDefinitionBuilder definitionBuilder = builder.build(configuration);

        extension.postProcess(definitionBuilder, configurationSource);

        AbstractBeanDefinition beanDefinition = definitionBuilder.getBeanDefinition();
        String beanName = beanNameGenerator.generateBeanName(beanDefinition, registry);

        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug(REPOSITORY_REGISTRATION, extension.getModuleName(), beanName,
                    configuration.getRepositoryInterface(), extension.getRepositoryFactoryClassName());
        }

        registry.registerBeanDefinition(beanName, beanDefinition);
        definitions.add(new BeanComponentDefinition(beanDefinition, beanName));
    }

    return definitions;
}

From source file:org.zalando.spring.data.businesskey.jpa.config.JpaBusinessKeyRegistrar.java

/**
 * @param  registry,  the {@link BeanDefinitionRegistry} to be used to register the
 *                    {@link AnnotationBeanConfigurerAspect}.
 *///from w  w  w. j a  va 2  s  . c o  m
private void registerBeanConfigurerAspectIfNecessary(final BeanDefinitionRegistry registry) {

    if (registry.containsBeanDefinition(BEAN_CONFIGURER_ASPECT_CLASS_NAME)) {
        return;
    }

    if (!ClassUtils.isPresent(BEAN_CONFIGURER_ASPECT_CLASS_NAME, getClass().getClassLoader())) {
        throw new BeanDefinitionStoreException(BEAN_CONFIGURER_ASPECT_CLASS_NAME + " not found. \n"
                + "Could not configure Spring Data JPA auditing-feature because"
                + " spring-aspects.jar is not on the classpath!\n"
                + "If you want to use auditing please add spring-aspects.jar to the classpath.");
    }

    RootBeanDefinition def = new RootBeanDefinition();
    def.setBeanClassName(BEAN_CONFIGURER_ASPECT_CLASS_NAME);
    def.setFactoryMethodName("aspectOf");
    def.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);

    registry.registerBeanDefinition(BEAN_CONFIGURER_ASPECT_BEAN_NAME,
            new BeanComponentDefinition(def, BEAN_CONFIGURER_ASPECT_BEAN_NAME).getBeanDefinition());
}