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

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

Introduction

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

Prototype

public void parsePropertyElements(Element beanEle, BeanDefinition bd) 

Source Link

Document

Parse property sub-elements of the given bean element.

Usage

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

/**
 * {@inheritDoc}/*from   w w  w .  ja v a  2s  . 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 = 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}//from   w w  w  .ja  va 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.jdal.beans.CustomBeanDefinitionParser.java

/**
 * Parse bean like a real bean definition.
 * @param ele element//from   ww w . j  ava 2s.co m
 * @param parserContext parserContext
 * @param builder builder
 */
protected void parseBeanDefinition(Element ele, ParserContext parserContext, BeanDefinitionBuilder builder) {
    BeanDefinitionParserDelegate delegate = parserContext.getDelegate();
    AbstractBeanDefinition bd = builder.getRawBeanDefinition();
    XmlReaderContext reader = parserContext.getReaderContext();

    try {
        delegate.parseBeanDefinitionAttributes(ele, beanName, null, bd);
        bd.setDescription(DomUtils.getChildElementValueByTagName(ele, "description"));

        delegate.parseMetaElements(ele, bd);
        delegate.parseLookupOverrideSubElements(ele, bd.getMethodOverrides());
        delegate.parseReplacedMethodSubElements(ele, bd.getMethodOverrides());

        delegate.parseConstructorArgElements(ele, bd);
        delegate.parsePropertyElements(ele, bd);
        delegate.parseQualifierElements(ele, bd);

    } catch (NoClassDefFoundError err) {
        reader.error("Class that bean class [" + this.beanClass + "] depends on not found", ele, err);
    } catch (Throwable ex) {
        reader.error("Unexpected failure during bean definition parsing", ele, ex);
    }

}

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

/**
 * {@inheritDoc}//  w ww.j a  va 2s  . c o  m
 */
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;
}