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

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

Introduction

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

Prototype

public BeanDefinitionBuilder addConstructorArgValue(@Nullable Object value) 

Source Link

Document

Add an indexed constructor arg value.

Usage

From source file:org.acme.echo.module.config.ModuleOutboundGatewayParser.java

@Override
protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) {

    BeanDefinitionBuilder moduleContextBuilder = BeanDefinitionBuilder
            .genericBeanDefinition("org.springframework.context.support.ClassPathXmlApplicationContext");

    String namespaceUri = element.getNamespaceURI();
    String nsPrefix = namespaceUri.substring(namespaceUri.lastIndexOf('/') + 1);
    moduleContextBuilder.addConstructorArgValue("META-INF/spring/module/" + nsPrefix + "-module-context.xml");

    BeanDefinitionBuilder exchangerBuilder = BeanDefinitionBuilder
            .genericBeanDefinition("org.acme.echo.module.ModuleGatewayRequestExchanger");
    exchangerBuilder.addConstructorArgValue(moduleContextBuilder.getBeanDefinition());

    BeanDefinitionBuilder moduleHandlerBuilder = BeanDefinitionBuilder
            .genericBeanDefinition("org.acme.echo.module.ModuleGatewayMessageHandler");
    moduleHandlerBuilder.addConstructorArgValue(exchangerBuilder.getBeanDefinition());
    // TODO do we need to support error-channel at the module or should it be outside (I think we do)
    //IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "error-handler");
    IntegrationNamespaceUtils.setReferenceIfAttributeDefined(moduleHandlerBuilder, element, "reply-channel",
            "outputChannel");

    return moduleHandlerBuilder;
}

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

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

    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .genericBeanDefinition(EsperNamespaceUtils.BASE_PACKAGE + ".EsperStatement");

    Object query = element.getAttribute(EsperNamespaceUtils.STATEMENT_QUERY_ATTRIBUTE);

    builder.addConstructorArgValue(query);

    ManagedSet listeners = null;/*from   w  ww . jav a  2 s. c  o  m*/

    Element listenersElement = DomUtils.getChildElementByTagName(element, "listeners");
    if (listenersElement != null) {
        EsperListenerParser listenerParser = new EsperListenerParser();
        listeners = listenerParser.parseListeners(listenersElement, parserContext);
        if (listeners != null) {
            builder.addPropertyValue("listeners", listeners);
        } else {
            parserContext.getReaderContext().error("At least one 'listener' should be provided.",
                    listenersElement);
        }
    } else {

        Element subscriberElement = DomUtils.getChildElementByTagName(element, "subscriber");
        if (subscriberElement != null) {
            String subscriberRef = (String) subscriberElement.getAttribute("ref");
            if (StringUtils.hasText(subscriberRef)) {
                builder.addPropertyReference("subscriber", subscriberRef);
            }
        } else {
            parserContext.getReaderContext()
                    .error("At least one of 'listeners' or 'subscriber' should be provided.", element);
        }
    }

    return builder.getBeanDefinition();
}

From source file:de.itsvs.cwtrpc.controller.config.RemoteServiceModuleConfigBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    final String name;

    name = element.getAttribute(XmlNames.MODULE_NAME_ATTR);
    if (!StringUtils.hasText(name)) {
        parserContext.getReaderContext().error("Module name must not be empty",
                parserContext.extractSource(element));
    }//  www .  ja v  a  2  s  .  c  o  m

    builder.addConstructorArgValue(name);
    builder.addConstructorArgValue(
            getServiceGroupConfigBeanDefinitionParser().parseNested(element, parserContext));
    getBaseServiceConfigParser().update(element, parserContext, builder);
}

From source file:ar.com.zauber.commons.conversion.spring.schema.ConversionNamespaceHandler.java

/** @see NamespaceHandler#init() */
public final void init() {
    registerBeanDefinitionParser("configurable-converter", new ConfigurableConverterBeanDefinitionParser());

    registerBeanDefinitionParser("simple-property-field", new SimplePropertyFieldDefinitionParser());

    registerBeanDefinitionParser("complex-property-field", new ComplexPropertyFieldDefinitionParser());

    registerBeanDefinitionParser("identity-converter",
            new DefaultConstructorBeanDefinitionParser(IdentityConverter.class));
    registerBeanDefinitionParser("first-element-converter",
            new DefaultConstructorBeanDefinitionParser(FirstElementConverter.class));
    registerBeanDefinitionParser("collection-to-size-converter",
            new DefaultConstructorBeanDefinitionParser(CollectionToSizeConverter.class));
    registerBeanDefinitionParser("date-to-long-converter",
            new DefaultConstructorBeanDefinitionParser(DateToLongConverter.class));
    registerBeanDefinitionParser("long-to-date-converter",
            new DefaultConstructorBeanDefinitionParser(LongToDateConverter.class));

    registerBeanDefinitionParser("collection-to-list-converter",
            new ConverterConstructorBeanDefinitionParser(CollectionToListConverter.class));
    registerBeanDefinitionParser("collection-to-set-converter",
            new ConverterConstructorBeanDefinitionParser(CollectionToSetConverter.class));

    registerBeanDefinitionParser("composite-converter", new AbstractSimpleBeanDefinitionParser() {
        @Override//  w  w  w. j  av a2  s. com
        protected Class<?> getBeanClass(final Element element) {
            return CompositeConverter.class;
        }

        @Override
        protected void doParse(final Element element, final ParserContext parserContext,
                final BeanDefinitionBuilder builder) {
            final List<?> l = parserContext.getDelegate().parseListElement(element,
                    builder.getBeanDefinition());
            builder.addConstructorArgValue(l.get(0));
            builder.addConstructorArgValue(l.get(1));
        }
    });
    registerBeanDefinitionParser("property-extractor-converter", new AbstractSimpleBeanDefinitionParser() {
        @Override
        protected Class<?> getBeanClass(final Element element) {
            return PropertyExtractorConverter.class;
        }

        @Override
        protected void doParse(final Element element, final ParserContext parserContext,
                final BeanDefinitionBuilder builder) {
            builder.addConstructorArgValue(element.getAttribute("property"));
        }
    });
    registerBeanDefinitionParser("expression-extractor-converter", new AbstractSimpleBeanDefinitionParser() {
        @Override
        protected Class<?> getBeanClass(final Element element) {
            return ExpressionExtractorConverter.class;
        }

        @Override
        protected void doParse(final Element element, final ParserContext parserContext,
                final BeanDefinitionBuilder builder) {
            builder.addConstructorArgValue(element.getAttribute("expression"));
        }
    });
}

From source file:org.opencredo.esper.integration.config.xml.InboundChannelAdapterParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    String channelRef = element.getAttribute("channel");
    Assert.hasText(channelRef, "channel attribute must be provided");
    builder.addConstructorArgReference(channelRef);

    Element eplElements = DomUtils.getChildElementByTagName(element, "epl");

    if (eplElements != null) {
        builder.addConstructorArgValue(eplElements.getTextContent());
    } else {//from   ww w. j a va2  s  . co m
        builder.addConstructorArgValue(null);
    }

    Attr templateNameNode = element.getAttributeNode("template-name");
    if (templateNameNode != null) {
        builder.addPropertyValue("templateName", templateNameNode.getTextContent());
    }
}

From source file:edu.internet2.middleware.shibboleth.common.config.metadata.FileBackedHTTPMetadataProviderBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    String providerId = getProviderId(element);

    super.doParse(element, parserContext, builder);

    String backingFile = DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "backingFile"));
    log.debug("Metadata provider '{}' backing up remote metadata file to: ", providerId, backingFile);
    builder.addConstructorArgValue(backingFile);
}

From source file:edu.internet2.middleware.shibboleth.common.config.metadata.RequiredValidUntilFilterBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element element, BeanDefinitionBuilder builder) {
    if (element.hasAttributeNS(null, "maxValidityInterval")) {
        long interval = SpringConfigurationUtils.parseDurationToMillis(
                "'maxValidityInterval' on metadata filter of type " + XMLHelper.getXSIType(element),
                element.getAttributeNS(null, "maxValidityInterval"), 1000) / 1000;
        builder.addConstructorArgValue(interval);
    }/*from www. ja  v a2 s .  co m*/
}

From source file:com.dangdang.ddframe.job.spring.namespace.JobBeanDefinitionParser.java

@Override
//CHECKSTYLE:OFF//from w w  w .j  av  a2s.  co m
protected AbstractBeanDefinition parseInternal(final Element element, final ParserContext parserContext) {
    //CHECKSTYLE:ON
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(SpringJobScheduler.class);
    factory.setInitMethodName("init");
    factory.addConstructorArgReference(element.getAttribute("regCenter"));
    factory.addConstructorArgReference(createJobConfiguration(element, parserContext));
    factory.addConstructorArgValue(createJobListeners(element));
    return factory.getBeanDefinition();
}

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

/**
 * Build the POJO with the username and password.
 * /* ww  w  .  j a v a 2  s .com*/
 * @param element the HTTPMetadataProvider parser.
 * @return the bean definition with the username and password.
 */
private BeanDefinition buildBasicCredentials(Element element) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .genericBeanDefinition(UsernamePasswordCredentials.class);

    builder.setLazyInit(true);

    builder.addConstructorArgValue(StringSupport.trimOrNull(element.getAttributeNS(null, BASIC_AUTH_USER)));
    builder.addConstructorArgValue(StringSupport.trimOrNull(element.getAttributeNS(null, BASIC_AUTH_PASSWORD)));

    return builder.getBeanDefinition();
}

From source file:edu.internet2.middleware.shibboleth.common.config.security.saml.IssueInstantRuleBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element element, BeanDefinitionBuilder builder) {
    long skew = 300;
    if (element.hasAttributeNS(null, "clockSkew")) {
        skew = SpringConfigurationUtils.parseDurationToMillis(
                "'clockSkew' on security rule of type " + XMLHelper.getXSIType(element),
                element.getAttributeNS(null, "clockSkew"), 1000) / 1000;
    }//from   w  ww  .ja va2s.c o  m
    builder.addConstructorArgValue(skew);

    long expirationThreshold = 60;
    if (element.hasAttributeNS(null, "expirationThreshold")) {
        expirationThreshold = SpringConfigurationUtils.parseDurationToMillis(
                "'expirationThreshold' on security rule of type " + XMLHelper.getXSIType(element),
                element.getAttributeNS(null, "expirationThreshold"), 1000) / 1000;
    }
    builder.addConstructorArgValue(expirationThreshold);

    if (element.hasAttributeNS(null, "required")) {
        builder.addPropertyValue("requiredRule",
                XMLHelper.getAttributeValueAsBoolean(element.getAttributeNodeNS(null, "required")));
    } else {
        builder.addPropertyValue("requiredRule", true);
    }
}