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.drools.container.spring.namespace.KnowledgeAgentDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {

    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeAgentBeanFactory.class);

    String id = element.getAttribute("id");
    emptyAttributeCheck(element.getLocalName(), "id", id);
    factory.addPropertyValue("id", id);

    String kbase = element.getAttribute("kbase");
    if (StringUtils.hasText(kbase)) {
        factory.addPropertyReference("kbase", kbase);
    }/* www.j  a va2s  . c o m*/

    String newInstance = element.getAttribute("new-instance");
    if (StringUtils.hasText(newInstance)) {
        factory.addPropertyValue("newInstance", newInstance);
    }

    String useKbaseClassloader = element.getAttribute("use-kbase-classloader");
    if (!useKbaseClassloader.trim().equals("")) {
        factory.addPropertyValue("useKbaseClassloader", useKbaseClassloader);
    }

    ManagedList resources = KnowledgeBaseDefinitionParser.getResources(element, parserContext, factory);

    if (resources != null) {
        factory.addPropertyValue("resources", resources);
    }

    // inject the kagent into any stateless sessions
    for (String beanName : parserContext.getRegistry().getBeanDefinitionNames()) {
        BeanDefinition def = parserContext.getRegistry().getBeanDefinition(beanName);
        if (StatelessKnowledgeSessionBeanFactory.class.getName().equals(def.getBeanClassName())) {
            PropertyValue pvalue = def.getPropertyValues().getPropertyValue("kbase");
            RuntimeBeanReference tbf = (RuntimeBeanReference) pvalue.getValue();
            if (kbase.equals(tbf.getBeanName())) {
                def.getPropertyValues().addPropertyValue("knowledgeAgent", new RuntimeBeanReference(id));
            }
        }
    }

    return factory.getBeanDefinition();
}

From source file:com.turbospaces.namespace.SpaceConfigurationBeanDefinitionParser.java

@Override
protected void doParse(final Element element, final BeanDefinitionBuilder builder) {
    String group = element.getAttribute("group");
    String mappingContext = element.getAttribute("mappingContext");
    String kryo = element.getAttribute("kryo");
    String jChannel = element.getAttribute("jChannel");

    if (StringUtils.hasText(group))
        builder.addPropertyValue("group", group);
    if (StringUtils.hasText(mappingContext))
        builder.addPropertyReference("mappingContext", mappingContext);
    if (StringUtils.hasText(kryo))
        builder.addPropertyReference("kryo", kryo);
    if (StringUtils.hasText(jChannel))
        builder.addPropertyReference("jChannel", jChannel);
}

From source file:org.jboss.windup.config.spring.namespace.interrogator.InterrogatorExtensionBeanParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(org.springframework.beans.factory.config.MethodInvokingFactoryBean.class);

    InterrogatorTypeEnum interrogatorTarget = InterrogatorTypeEnum.valueOf(element.getAttribute("type"));
    String targetObject = interrogatorTarget.getBeanName();

    LOG.debug("Resolved target extension: " + targetObject);

    beanBuilder.addPropertyReference("targetObject", targetObject);
    beanBuilder.addPropertyValue("targetMethod", "addDecorators");

    // parse list..
    parseDecoratorExtensions(beanBuilder, element, parserContext);
    return beanBuilder.getBeanDefinition();
}

From source file:biz.c24.io.spring.batch.config.ItemWriterParser.java

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

    // Optional/*from   w ww. j  a  v a 2s  .  c  o  m*/
    String scope = element.getAttribute("scope");
    if (StringUtils.hasText(scope)) {
        bean.setScope(scope);
    } else {
        // Default to step scope
        bean.setScope("step");
    }

    // Mandatory
    String sinkRef = element.getAttribute("sink-ref");
    bean.addPropertyReference("sink", sinkRef);

    int numSourceDefns = 0;

    // Optional
    String writerSourceRef = element.getAttribute("writer-source-ref");
    if (StringUtils.hasText(writerSourceRef)) {
        bean.addPropertyReference("writerSource", writerSourceRef);
        numSourceDefns++;
    }

    Element fileSourceElement = DomUtils.getChildElementByTagName(element, "file-writer");
    if (fileSourceElement != null) {
        BeanDefinition beanDefinition = parserContext.getDelegate().parseCustomElement(fileSourceElement,
                bean.getBeanDefinition());
        beanDefinition.setBeanClassName(FileWriterSource.class.getName());
        bean.addPropertyValue("writerSource", beanDefinition);
        numSourceDefns++;
    }

    Element zipFileSourceElement = DomUtils.getChildElementByTagName(element, "zip-file-writer");
    if (zipFileSourceElement != null) {
        BeanDefinition beanDefinition = parserContext.getDelegate().parseCustomElement(zipFileSourceElement,
                bean.getBeanDefinition());
        beanDefinition.setBeanClassName(ZipFileWriterSource.class.getName());
        bean.addPropertyValue("writerSource", beanDefinition);
        numSourceDefns++;
    }

    if (numSourceDefns > 1) {
        parserContext.getReaderContext()
                .error("Only one of writer-source-ref, file-writer and zip-file-writer can be used", element);
    } else if (numSourceDefns == 0) {
        parserContext.getReaderContext()
                .error("One of writer-source-ref, file-writer and zip-file-writer must be specified", element);
    }
}

From source file:fr.acxio.tools.agia.alfresco.configuration.NodeDefinitionParser.java

protected BeanDefinition parseProperty(Element sElement, ParserContext sParserContext) {
    BeanDefinitionBuilder aBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(PropertyDefinitionFactoryBean.class);
    aBuilder.addPropertyValue("localName", sElement.getAttribute(PROPDEF_LOCALNAME));

    String aConverterID = sElement.getAttribute(PROPDEF_CONVERTERREF);
    if (StringUtils.hasText(aConverterID)) {
        aBuilder.addPropertyReference("converter", aConverterID);
    }/*w w w.  ja  v  a  2 s . c o m*/

    List<Element> aValuesElements = DomUtils.getChildElementsByTagName(sElement, PROPDEF_VALUE);
    ManagedList<String> aValues = new ManagedList<String>(aValuesElements.size());

    for (Element aElement : aValuesElements) {
        aValues.add(aElement.getTextContent());
    }

    aBuilder.addPropertyValue("values", aValues);

    return aBuilder.getBeanDefinition();
}

From source file:net.phoenix.thrift.xml.ServerBeanDefinitionParser.java

@Override
protected void preParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    // ?init-methoddestroy-method
    String start = element.getAttribute("start");
    if (this.parseBoolean(start)) {
        builder.setInitMethodName("serve");
        builder.setDestroyMethodName("stop");
    }//  ww  w . ja  v  a2 s.com
    String handler = element.getAttribute("event-handler");
    if (StringUtils.isNotBlank(handler)) {
        builder.addPropertyReference("serverEventHandler", handler);
    }
    Element argsElement = DomUtils.getChildElementByTagName(element, "args");
    parserContext.getDelegate().parseCustomElement(argsElement);
    String argsBeanName = argsElement.getAttribute("id");
    builder.addConstructorArgReference(argsBeanName);
}

From source file:net.shibboleth.idp.profile.spring.relyingparty.metadata.impl.AbstractDynamicHTTPMetadataProviderParser.java

/** {@inheritDoc} */
// Checkstyle: CyclomaticComplexity OFF -- more readable not split up
@Override/*from www  .ja  va2 s  .c  o  m*/
protected void doNativeParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    super.doNativeParse(element, parserContext, builder);

    boolean haveTLSTrustEngine = false;
    if (element.hasAttributeNS(null, "tlsTrustEngineRef")) {
        builder.addPropertyReference("tLSTrustEngine",
                StringSupport.trimOrNull(element.getAttributeNS(null, "tlsTrustEngineRef")));
        haveTLSTrustEngine = true;
    } else {
        BeanDefinition tlsTrustEngine = parseTLSTrustEngine(element, parserContext);
        if (tlsTrustEngine != null) {
            builder.addPropertyValue("tLSTrustEngine", tlsTrustEngine);
            haveTLSTrustEngine = true;
        }
    }

    if (element.hasAttributeNS(null, "httpClientRef")) {
        builder.addConstructorArgReference(
                StringSupport.trimOrNull(element.getAttributeNS(null, "httpClientRef")));
        if (element.hasAttributeNS(null, "requestTimeout")
                || element.hasAttributeNS(null, "disregardSslCertificate")
                || element.hasAttributeNS(null, "disregardTLSCertificate")
                || element.hasAttributeNS(null, "proxyHost") || element.hasAttributeNS(null, "proxyPort")
                || element.hasAttributeNS(null, "proxyUser") || element.hasAttributeNS(null, "proxyPassword")) {
            log.warn("httpClientRef overrides settings for requestTimeout, disregardSslCertificate, "
                    + "disregardTLSCertificate, proxyHost, proxyPort, proxyUser and proxyPassword");
        }
    } else {
        builder.addConstructorArgValue(buildHttpClient(element, parserContext, haveTLSTrustEngine));
    }

    if (element.hasAttributeNS(null, "credentialsProviderRef")) {
        builder.addPropertyReference("credentialsProviderRef",
                StringSupport.trimOrNull(element.getAttributeNS(null, "credentialsProviderRef")));
        if (element.hasAttributeNS(null, BASIC_AUTH_USER)
                || element.hasAttributeNS(null, BASIC_AUTH_PASSWORD)) {
            log.warn("credentialsProviderRef overrides settings for basicAuthUser and basicAuthPassword");
        }
    } else {
        if (element.hasAttributeNS(null, BASIC_AUTH_USER)
                || element.hasAttributeNS(null, BASIC_AUTH_PASSWORD)) {
            builder.addPropertyValue("basicCredentials", buildBasicCredentials(element));
        }
    }

    if (element.hasAttributeNS(null, "supportedContentTypes")) {
        List<String> supportedContentTypes = StringSupport.stringToList(
                StringSupport.trimOrNull(element.getAttributeNS(null, "supportedContentTypes")),
                XMLConstants.LIST_DELIMITERS);
        builder.addPropertyValue("supportedContentTypes", supportedContentTypes);
    }

}

From source file:org.carewebframework.shell.plugins.PluginXmlParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    builder.setInitMethodName("init");
    builder.setDestroyMethodName("destroy");
    builder.addDependsOn("pluginRegistry");
    builder.addDependsOn("manifestIterator");
    builder.addPropertyReference("pluginRegistry", "pluginRegistry");
    builder.addPropertyValue("path", getResourcePath(parserContext));
    addProperties(element, builder);/*from  w  ww .j a  v a 2 s.  c o  m*/

    Element resourceTag = findTag("resource", element);

    if (resourceTag != null) {
        ManagedList<AbstractBeanDefinition> resourceList = new ManagedList<AbstractBeanDefinition>();
        NodeList resources = getTagChildren("resource", element);

        for (int i = 0; i < resources.getLength(); i++) {
            parseResources((Element) resources.item(i), builder, resourceList);
        }

        builder.addPropertyValue("resources", resourceList);
    }

    Element securityTag = findTag("security", element);

    if (securityTag != null) {
        addProperties(securityTag, builder);
        ManagedList<AbstractBeanDefinition> authorityList = new ManagedList<AbstractBeanDefinition>();
        NodeList authorities = getTagChildren("security", element);

        for (int i = 0; i < authorities.getLength(); i++) {
            parseAuthorities((Element) authorities.item(i), builder, authorityList);
        }

        builder.addPropertyValue("authorities", authorityList);
    }

    Element serializationTag = findTag("serialization", element);

    if (serializationTag != null) {
        addProperties(serializationTag, builder);
        ManagedList<AbstractBeanDefinition> propertyList = new ManagedList<AbstractBeanDefinition>();
        NodeList properties = getTagChildren("serialization", element);

        for (int i = 0; i < properties.getLength(); i++) {
            parseProperties((Element) properties.item(i), builder, propertyList);
        }

        builder.addPropertyValue("properties", propertyList);
    }
}

From source file:org.jasypt.spring31.xml.encryption.AbstractEncryptablePropertyLoadingBeanDefinitionParser.java

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

    String location = element.getAttribute("location");
    if (StringUtils.hasLength(location)) {
        String[] locations = StringUtils.commaDelimitedListToStringArray(location);
        builder.addPropertyValue("locations", locations);
    }// ww  w.ja v a 2s .  c  om

    String propertiesRef = element.getAttribute("properties-ref");
    if (StringUtils.hasLength(propertiesRef)) {
        builder.addPropertyReference("properties", propertiesRef);
    }

    String fileEncoding = element.getAttribute("file-encoding");
    if (StringUtils.hasLength(fileEncoding)) {
        builder.addPropertyReference("fileEncoding", fileEncoding);
    }

    String order = element.getAttribute("order");
    if (StringUtils.hasLength(order)) {
        builder.addPropertyValue("order", Integer.valueOf(order));
    }

    builder.addPropertyValue("ignoreResourceNotFound",
            Boolean.valueOf(element.getAttribute("ignore-resource-not-found")));

    builder.addPropertyValue("localOverride", Boolean.valueOf(element.getAttribute("local-override")));

    builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
}

From source file:com.joyveb.dbpimpl.cass.prepare.config.xml.CassandraSessionParser.java

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

    String keyspace = element.getAttribute("keyspace");
    if (StringUtils.hasText(keyspace)) {
        builder.addPropertyValue("keyspace", keyspace);
    }/*  w  ww .  java  2 s.c  om*/

    String clusterRef = element.getAttribute("cassandra-cluster-ref");
    if (!StringUtils.hasText(clusterRef)) {
        clusterRef = ConfigConstants.CASSANDRA_CLUSTER;
    }
    builder.addPropertyReference("cluster", clusterRef);

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

    postProcess(builder, element);
}