Example usage for org.springframework.beans.factory.support BeanDefinitionBuilder addPropertyReference

List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder addPropertyReference

Introduction

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

Prototype

public BeanDefinitionBuilder addPropertyReference(String name, String beanName) 

Source Link

Document

Add a reference to the specified bean name under the property specified.

Usage

From source file:org.springdata.ehcache.config.xml.TemplateParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {

    String cacheManagerRef = element.getAttribute("cache-manager-ref");
    if (!StringUtils.hasText(cacheManagerRef)) {
        cacheManagerRef = ConfigConstants.CACHE_MANAGER_DEFAULT_ID;
    }//  w w  w.java  2s  .co m
    builder.addPropertyReference("cacheManager", cacheManagerRef);

    String converterRef = element.getAttribute("converter-ref");
    if (!StringUtils.hasText(converterRef)) {
        converterRef = ConfigConstants.CONVERTER_DEFAULT_ID;
    }
    builder.addPropertyReference("ehcacheConverter", converterRef);

    postProcess(builder, element);
}

From source file:org.opencredo.esper.config.xml.EsperTemplateParser.java

private void initializeUnmatchedListener(Element element, BeanDefinitionBuilder builder) {
    String unmatchedListenerRef = (String) element
            .getAttribute(EsperNamespaceUtils.UNMATCHED_LISTENER_ATTRIBUTE);

    if (StringUtils.hasText(unmatchedListenerRef)) {
        builder.addPropertyReference("unmatchedListener", unmatchedListenerRef);
    }/*w ww. j ava 2s  .c o m*/
}

From source file:org.smf4j.spring.CsvFileBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext context, BeanDefinitionBuilder builder) {
    parseTopLevelProperties(element, context, builder);
    String layoutId = createLayout(element, context, builder);
    builder.addPropertyReference(LAYOUT_ATTR, layoutId);
    builder.setDestroyMethodName("close");
}

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

/**
 * {@inheritDoc}//from w  w  w  .j ava 2s  . c om
 */
public AbstractBeanDefinition parse(Element element, ParserContext parserContext) {

    // default dao and service classes
    String daoClassName = JPA_DAO_CLASS_NAME;
    String serviceClassName = PERSISTENT_SERVICE_CLASS_NAME;
    String name = null;
    boolean declareService = false;

    if (element.hasAttribute(DAO_CLASS))
        daoClassName = element.getAttribute(DAO_CLASS);

    if (element.hasAttribute(SERVICE_CLASS)) {
        serviceClassName = element.getAttribute(SERVICE_CLASS);
        declareService = true;
    }

    if (element.hasAttribute(NAME))
        name = element.getAttribute(NAME);

    if (element.hasAttribute(ENTITY)) {
        String className = element.getAttribute(ENTITY);
        if (name == null) {
            name = StringUtils
                    .uncapitalize(StringUtils.substringAfterLast(className, PropertyUtils.PROPERTY_SEPARATOR));
        }
        parserContext.pushContainingComponent(
                new CompositeComponentDefinition(name, parserContext.extractSource(element)));

        // Dao
        BeanDefinitionBuilder daoBuilder = BeanDefinitionBuilder.genericBeanDefinition(daoClassName);
        NodeList nl = element.getElementsByTagNameNS(element.getNamespaceURI(), CRITERIA);
        if (nl.getLength() > 0) {
            ManagedMap<String, BeanReference> builders = new ManagedMap<String, BeanReference>(nl.getLength());
            for (int i = 0; i < nl.getLength(); i++) {
                Element e = (Element) nl.item(i);
                builders.put(e.getAttribute(NAME), new RuntimeBeanReference(e.getAttribute(BUILDER)));
            }
            daoBuilder.addPropertyValue(CRITERIA_BUILDER_MAP, builders);
        }

        daoBuilder.addConstructorArgValue(ClassUtils.resolveClassName(className, null));
        daoBuilder.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE);
        String daoBeanName;

        if (declareService) {
            // use dao suffix
            daoBeanName = name + DAO_SUFFIX;
            registerBeanDefinition(parserContext, daoBuilder, daoBeanName);

            // register service wrapper
            String serviceBeanName = name + SERVICE_SUFFIX;
            BeanDefinitionBuilder serviceBuilder = BeanDefinitionBuilder
                    .genericBeanDefinition(serviceClassName);
            serviceBuilder.addPropertyReference("dao", daoBeanName);
            registerBeanDefinition(parserContext, serviceBuilder, serviceBeanName);
        } else {
            // use service suffix for dao and declare an alias with dao suffix for compatibility with older api.
            daoBeanName = name + SERVICE_SUFFIX;
            String[] aliases = new String[] { name + DAO_SUFFIX };
            BeanComponentDefinition bcd = new BeanComponentDefinition(daoBuilder.getBeanDefinition(),
                    daoBeanName, aliases);
            parserContext.registerBeanComponent(bcd);
        }

        parserContext.popAndRegisterContainingComponent();
    }

    return null;
}

From source file:org.lightadmin.core.config.bootstrap.LightAdminBeanDefinitionRegistryPostProcessor.java

private BeanDefinition globalAdministrationConfigurationFactoryBeanDefinition(
        Set<ConfigurationUnits> configurationUnits) {
    BeanDefinitionBuilder builder = rootBeanDefinition(GlobalAdministrationConfigurationFactoryBean.class);
    builder.addPropertyReference("domainTypeAdministrationConfigurationFactory",
            beanName(DomainTypeAdministrationConfigurationFactory.class));
    builder.addPropertyValue("domainTypeConfigurationUnits", configurationUnits);
    builder.addPropertyReference("mappingContext", JPA_MAPPPING_CONTEXT_BEAN);
    builder.addPropertyReference("repositories", REPOSITORIES_BEAN);
    builder.addPropertyReference("configurationUnitsValidator", CONFIGURATION_UNITS_VALIDATOR_BEAN);
    return builder.getBeanDefinition();
}

From source file:fr.xebia.management.config.ManagedCachingConnectionFactoryDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .rootBeanDefinition(ManagedCachingConnectionFactory.class);

    builder.setRole(BeanDefinition.ROLE_APPLICATION);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    builder.addPropertyReference("targetConnectionFactory", element.getAttribute(CONNECTION_FACTORY_ATTRIBUTE));
    builder.addPropertyValue("cacheConsumers", element.getAttribute(CACHE_CONSUMERS_ATTRIBUTE));
    builder.addPropertyValue("cacheProducers", element.getAttribute(CACHE_PRODUCERS_ATTRIBUTE));
    builder.addPropertyValue("sessionCacheSize", element.getAttribute(SESSION_CACHE_SIZE_ATTRIBUTE));
    builder.addPropertyValue("reconnectOnException", element.getAttribute(RECONNECT_ON_EXCEPTION));

    return builder.getBeanDefinition();
}

From source file:eap.config.TxAdviceBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    //      builder.addPropertyReference("transactionManager", TxNamespaceHandler.getTransactionManagerName(element));
    builder.addPropertyReference("transactionManager",
            (String) ReflectUtil.invokeMethod(TxNamespaceHandler.class, "getTransactionManagerName",
                    new Class[] { org.w3c.dom.Element.class }, new Object[] { element }));

    List<Element> txAttributes = DomUtils.getChildElementsByTagName(element, ATTRIBUTES_ELEMENT);
    if (txAttributes.size() > 1) {
        parserContext.getReaderContext()
                .error("Element <attributes> is allowed at most once inside element <advice>", element);
    } else if (txAttributes.size() == 1) {
        // Using attributes source.
        Element attributeSourceElement = txAttributes.get(0);
        RootBeanDefinition attributeSourceDefinition = parseAttributeSource(attributeSourceElement,
                parserContext);/*ww  w.  ja  v  a 2s  .  c o  m*/
        builder.addPropertyValue("transactionAttributeSource", attributeSourceDefinition);
    } else {
        // Assume annotations source.
        builder.addPropertyValue("transactionAttributeSource",
                new RootBeanDefinition(AnnotationTransactionAttributeSource.class));
    }
}

From source file:com.shopzilla.spring.util.config.ShopzillaNamespaceUtils.java

/**
 * Populates the specified bean definition property with the reference to a bean. The bean reference is identified by the value from the attribute whose name is provided if that attribute is defined in the given element.
 *
 * @param builder       the bean definition to be configured
 * @param element       the XML element where the attribute should be defined
 * @param attributeName the name of the attribute whose value will be used as a bean reference to populate the property
 * @param propertyName  the name of the property to be populated
 *//*ww w  .j a  v  a 2 s.c o  m*/
public void setReferenceIfAttributeDefined(BeanDefinitionBuilder builder, Element element, String attributeName,
        String propertyName) {
    String attributeValue = element.getAttribute(attributeName);

    if (StringUtils.hasText(attributeValue)) {
        builder.addPropertyReference(propertyName, attributeValue);
    }
}

From source file:net.scriptability.core.integration.spring.ScriptAbilityBeanDefinitionParser.java

private String registerScriptAbilityFactoryBean(final Element configureElement,
        final BeanDefinitionRegistry beanDefinitionRegistry) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .genericBeanDefinition(SpringScriptAbilityFactory.class);
    if (configureElement.hasAttribute(XML_ATTRIBUTE__CONFIGURATION_LOADER)) {
        builder.addPropertyReference("configurationLoader",
                configureElement.getAttribute(XML_ATTRIBUTE__CONFIGURATION_LOADER));
    }//  w w w.  j a  va 2  s  .  co m
    if (configureElement.hasAttribute(XML_ATTRIBUTE__EVENT_SCHEDULER)) {
        builder.addPropertyReference("eventScheduler",
                configureElement.getAttribute(XML_ATTRIBUTE__EVENT_SCHEDULER));
    }
    return BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(),
            beanDefinitionRegistry);
}

From source file:net.paslavsky.springrest.SpringRestClientBeanDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(CLASS_NAME);
    builder.addConstructorArgValue(element.getAttribute("class"));

    String authManagerName = element.getAttribute("authentication-manager");
    if (StringUtils.hasText(authManagerName)) {
        builder.addPropertyReference("authenticationManager", authManagerName);
    }//from w w w.j a v  a2s.  c  o m

    String baseUrl = element.getAttribute("base-url");
    if (StringUtils.hasText(baseUrl)) {
        builder.addPropertyValue("baseUrl", baseUrl);
    }

    return builder.getBeanDefinition();
}