Example usage for org.springframework.integration.config.xml IntegrationNamespaceUtils setReferenceIfAttributeDefined

List of usage examples for org.springframework.integration.config.xml IntegrationNamespaceUtils setReferenceIfAttributeDefined

Introduction

In this page you can find the example usage for org.springframework.integration.config.xml IntegrationNamespaceUtils setReferenceIfAttributeDefined.

Prototype

public static void setReferenceIfAttributeDefined(BeanDefinitionBuilder builder, Element element,
            String attributeName, boolean emptyStringAllowed) 

Source Link

Usage

From source file:biz.c24.io.spring.integration.config.UnmarshallingTransformerParser.java

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

    String modelRef = element.getAttribute("model-ref");
    modelRef = StringUtils.hasText(modelRef) ? modelRef : C24ModelBeanDefinitionParser.DEFAULT_BEAN_NAME;
    builder.addConstructorArgReference(modelRef);

    IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "source-factory-ref",
            "sourceFactory");

    IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "unwrap-document-root",
            "unwrapDocumentRoot");

}

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;
}