Example usage for org.springframework.beans.factory.xml BeanDefinitionParserDelegate initDefaults

List of usage examples for org.springframework.beans.factory.xml BeanDefinitionParserDelegate initDefaults

Introduction

In this page you can find the example usage for org.springframework.beans.factory.xml BeanDefinitionParserDelegate initDefaults.

Prototype

public void initDefaults(Element root) 

Source Link

Document

Initialize the default settings assuming a null parent delegate.

Usage

From source file:org.codehaus.grepo.core.config.GenericRepositoryBeanDefinitionParser.java

/**
 * {@inheritDoc}/* ww  w  .j  av a2 s .c  om*/
 */
@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    Object source = parserContext.extractSource(element);
    GenericRepositoryConfigContext configContext = new GenericRepositoryConfigContext(element);

    // init bean defintion parse delegate...
    BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(parserContext.getReaderContext());
    delegate.initDefaults(element.getOwnerDocument().getDocumentElement());

    BeanDefinitionBuilder builder = BeanDefinitionParserHelper.createBuilderFromConfigContext(configContext,
            source, defaultGenericRepositoryFactoryType);

    delegate.parsePropertyElements(configContext.getElement(), builder.getRawBeanDefinition());

    builder.addPropertyValue(GenericRepositoryConfigContext.PROXY_CLASS_PROPERTY,
            configContext.getProxyClass());

    return builder.getBeanDefinition();
}

From source file:org.codehaus.grepo.core.config.GenericRepositoryFactoryBeanDefinitionParser.java

/**
 * {@inheritDoc}//  w w  w  .j ava 2 s .c o  m
 */
@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    Object source = parserContext.extractSource(element);
    GenericRepositoryConfigContext configContext = new GenericRepositoryConfigContext(element);

    // init bean defintion parse delegate...
    BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(parserContext.getReaderContext());
    delegate.initDefaults(element.getOwnerDocument().getDocumentElement());

    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition().setAbstract(true);
    builder.getRawBeanDefinition().setSource(source);

    if (configContext.hasClazz()) {
        builder.getRawBeanDefinition().setBeanClassName(configContext.getClazz());
    } else {
        // no 'class' attribute is set, so use default bean class...
        builder.getRawBeanDefinition().setBeanClass(defaultGenericRepositoryFactoryType);
    }

    delegate.parsePropertyElements(element, builder.getRawBeanDefinition());

    return builder.getBeanDefinition();
}

From source file:org.codehaus.grepo.core.config.GenericRepositoryScanBeanDefinitionParser.java

/**
 * {@inheritDoc}/*from   w w w  . j a  v  a  2s. com*/
 */
public BeanDefinition parse(Element element, ParserContext parserContext) {
    Object source = parserContext.extractSource(element);
    GenericRepositoryConfigContext configContext = new GenericRepositoryConfigContext(element);

    // init bean defintion parse delegate...
    BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(parserContext.getReaderContext());
    delegate.initDefaults(element.getOwnerDocument().getDocumentElement());

    GenericRepositoryBeanDefinitionScanner scanner = configureScanner(configContext, parserContext);

    parseBeanNameGenerator(configContext, parserContext);

    String[] basePackages = StringUtils.commaDelimitedListToStringArray(configContext.getBasePackage());
    for (String basePackage : basePackages) {
        Set<BeanDefinition> candidates = scanner.findCandidateComponents(basePackage);
        for (BeanDefinition candidate : candidates) {
            BeanDefinitionBuilder builder = BeanDefinitionParserHelper
                    .createBuilderFromConfigContext(configContext, source, defaultGenericRepositoryFactoryType);

            delegate.parsePropertyElements(configContext.getElement(), builder.getRawBeanDefinition());

            builder.addPropertyValue(GenericRepositoryConfigContext.PROXY_CLASS_PROPERTY,
                    candidate.getBeanClassName());

            String beanName = beanNameGenerator.generateBeanName(candidate, parserContext.getRegistry());
            parserContext
                    .registerBeanComponent(new BeanComponentDefinition(builder.getBeanDefinition(), beanName));
            logger.debug("Registered generic repository bean '{}'", beanName);
        }
    }

    return null;
}