From 423b0b5f025c615961fee4be2b5e8ee4ec905bc6 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Sat, 1 May 2010 15:15:59 +0000 Subject: [PATCH] formatting --- .../config/xml/AggregatorParser.java | 178 +++++++++--------- 1 file changed, 87 insertions(+), 91 deletions(-) diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/AggregatorParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/AggregatorParser.java index 9a4a25b943..51db2fb72f 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/AggregatorParser.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/AggregatorParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,6 @@ package org.springframework.integration.config.xml; import org.w3c.dom.Element; -import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.parsing.BeanComponentDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; @@ -26,119 +25,116 @@ import org.springframework.beans.factory.xml.ParserContext; import org.springframework.util.StringUtils; /** - * Parser for the aggregator element of the integration namespace. Registers the annotation-driven - * post-processors. - * + * Parser for the aggregator element of the integration namespace. + * Registers the annotation-driven post-processors. + * * @author Marius Bogoevici * @author Mark Fisher * @author Oleg Zhurakousky */ public class AggregatorParser extends AbstractConsumerEndpointParser { - private static final String COMPLETION_STRATEGY_REF_ATTRIBUTE = "completion-strategy"; + private static final String COMPLETION_STRATEGY_REF_ATTRIBUTE = "completion-strategy"; - private static final String COMPLETION_STRATEGY_METHOD_ATTRIBUTE = "completion-strategy-method"; + private static final String COMPLETION_STRATEGY_METHOD_ATTRIBUTE = "completion-strategy-method"; - private static final String CORRELATION_STRATEGY_REF_ATTRIBUTE = "correlation-strategy"; + private static final String CORRELATION_STRATEGY_REF_ATTRIBUTE = "correlation-strategy"; - private static final String CORRELATION_STRATEGY_METHOD_ATTRIBUTE = "correlation-strategy-method"; + private static final String CORRELATION_STRATEGY_METHOD_ATTRIBUTE = "correlation-strategy-method"; - private static final String OUTPUT_CHANNEL_ATTRIBUTE = "output-channel"; + private static final String OUTPUT_CHANNEL_ATTRIBUTE = "output-channel"; - private static final String DISCARD_CHANNEL_ATTRIBUTE = "discard-channel"; + private static final String DISCARD_CHANNEL_ATTRIBUTE = "discard-channel"; - private static final String SEND_TIMEOUT_ATTRIBUTE = "send-timeout"; + private static final String SEND_TIMEOUT_ATTRIBUTE = "send-timeout"; - private static final String SEND_PARTIAL_RESULT_ON_TIMEOUT_ATTRIBUTE = "send-partial-result-on-timeout"; + private static final String SEND_PARTIAL_RESULT_ON_TIMEOUT_ATTRIBUTE = "send-partial-result-on-timeout"; - private static final String REAPER_INTERVAL_ATTRIBUTE = "reaper-interval"; + private static final String REAPER_INTERVAL_ATTRIBUTE = "reaper-interval"; - private static final String TRACKED_CORRELATION_ID_CAPACITY_ATTRIBUTE = "tracked-correlation-id-capacity"; + //private static final String TRACKED_CORRELATION_ID_CAPACITY_ATTRIBUTE = "tracked-correlation-id-capacity"; - private static final String TIMEOUT_ATTRIBUTE = "timeout"; + private static final String TIMEOUT_ATTRIBUTE = "timeout"; - private static final String COMPLETION_STRATEGY_PROPERTY = "completionStrategy"; + private static final String AUTO_STARTUP_ATTRIBUTE = "auto-startup"; - private static final String CORRELATION_STRATEGY_PROPERTY = "correlationStrategy"; + private static final String COMPLETION_STRATEGY_PROPERTY = "completionStrategy"; + + private static final String CORRELATION_STRATEGY_PROPERTY = "correlationStrategy"; - @Override - protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) { - BeanComponentDefinition innerHandlerDefinition = IntegrationNamespaceUtils.parseInnerHandlerDefinition(element, parserContext); - String ref = element.getAttribute(REF_ATTRIBUTE); - BeanDefinitionBuilder builder; + @Override + protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) { + BeanComponentDefinition innerHandlerDefinition = IntegrationNamespaceUtils.parseInnerHandlerDefinition( + element, parserContext); + String ref = element.getAttribute(REF_ATTRIBUTE); + BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( + IntegrationNamespaceUtils.BASE_PACKAGE + ".aggregator.CorrelatingMessageHandler"); - builder = BeanDefinitionBuilder.genericBeanDefinition( - IntegrationNamespaceUtils.BASE_PACKAGE + ".aggregator.CorrelatingMessageHandler"); - BeanDefinitionBuilder processorBuilder = null; + BeanDefinitionBuilder processorBuilder = null; + if (innerHandlerDefinition != null || StringUtils.hasText(ref)) { + processorBuilder = BeanDefinitionBuilder.genericBeanDefinition( + IntegrationNamespaceUtils.BASE_PACKAGE + ".aggregator.MethodInvokingMessageGroupProcessor"); + if (innerHandlerDefinition != null) { + processorBuilder.addConstructorArgValue(innerHandlerDefinition); + } + else { + processorBuilder.addConstructorArgReference(ref); + } + builder.addConstructorArgValue(processorBuilder.getBeanDefinition()); + } + else { + builder.addConstructorArgValue(BeanDefinitionBuilder.genericBeanDefinition( + IntegrationNamespaceUtils.BASE_PACKAGE + ".aggregator.DefaultAggregatingMessageGroupProcessor") + .getBeanDefinition()); + } - if (innerHandlerDefinition != null || StringUtils.hasText(ref)) { - processorBuilder = BeanDefinitionBuilder.genericBeanDefinition( - IntegrationNamespaceUtils.BASE_PACKAGE + ".aggregator.MethodInvokingMessageGroupProcessor"); - builder.addConstructorArgValue(processorBuilder.getBeanDefinition()); - } else { - builder.addConstructorArgValue(BeanDefinitionBuilder.genericBeanDefinition( - IntegrationNamespaceUtils.BASE_PACKAGE + ".aggregator.DefaultAggregatingMessageGroupProcessor").getBeanDefinition()); - } + if (StringUtils.hasText(element.getAttribute(METHOD_ATTRIBUTE))) { + String method = element.getAttribute(METHOD_ATTRIBUTE); + processorBuilder.getRawBeanDefinition().getConstructorArgumentValues() + .addGenericArgumentValue(method, "java.lang.String"); + } - if (innerHandlerDefinition != null) { - processorBuilder.addConstructorArgValue(innerHandlerDefinition); - } else { - if (StringUtils.hasText(ref)) { - processorBuilder.addConstructorArgReference(ref); - } - } - if (StringUtils.hasText(element.getAttribute(METHOD_ATTRIBUTE))) { - String method = element.getAttribute(METHOD_ATTRIBUTE); - processorBuilder.getRawBeanDefinition().getConstructorArgumentValues().addGenericArgumentValue(method, "java.lang.String"); - } + IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, DISCARD_CHANNEL_ATTRIBUTE); + IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, OUTPUT_CHANNEL_ATTRIBUTE); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, SEND_TIMEOUT_ATTRIBUTE); + IntegrationNamespaceUtils.setValueIfAttributeDefined( + builder, element, SEND_PARTIAL_RESULT_ON_TIMEOUT_ATTRIBUTE); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, REAPER_INTERVAL_ATTRIBUTE); + // IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, + // element, TRACKED_CORRELATION_ID_CAPACITY_ATTRIBUTE); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, AUTO_STARTUP_ATTRIBUTE); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, TIMEOUT_ATTRIBUTE); + this.injectPropertyWithBean(COMPLETION_STRATEGY_REF_ATTRIBUTE, COMPLETION_STRATEGY_METHOD_ATTRIBUTE, + COMPLETION_STRATEGY_PROPERTY, "CompletionStrategyAdapter", element, builder, parserContext); + this.injectPropertyWithBean(CORRELATION_STRATEGY_REF_ATTRIBUTE, CORRELATION_STRATEGY_METHOD_ATTRIBUTE, + CORRELATION_STRATEGY_PROPERTY, "CorrelationStrategyAdapter", element, builder, parserContext); + return builder; + } - IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, - DISCARD_CHANNEL_ATTRIBUTE); - IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, - OUTPUT_CHANNEL_ATTRIBUTE); - IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, - SEND_TIMEOUT_ATTRIBUTE); - IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, - SEND_PARTIAL_RESULT_ON_TIMEOUT_ATTRIBUTE); - IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, - REAPER_INTERVAL_ATTRIBUTE); -// IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, TRACKED_CORRELATION_ID_CAPACITY_ATTRIBUTE); - IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "auto-startup"); - IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, TIMEOUT_ATTRIBUTE); - this.injectPropertyWithBean(COMPLETION_STRATEGY_REF_ATTRIBUTE, - COMPLETION_STRATEGY_METHOD_ATTRIBUTE, COMPLETION_STRATEGY_PROPERTY, - "CompletionStrategyAdapter", element, builder, parserContext); - this.injectPropertyWithBean(CORRELATION_STRATEGY_REF_ATTRIBUTE, - CORRELATION_STRATEGY_METHOD_ATTRIBUTE, CORRELATION_STRATEGY_PROPERTY, - "CorrelationStrategyAdapter", element, builder, parserContext); - return builder; - } + private void injectPropertyWithBean(String beanRefAttribute, String methodRefAttribute, String beanProperty, + String adapterClass, Element element, BeanDefinitionBuilder builder, ParserContext parserContext) { + final String beanRef = element.getAttribute(beanRefAttribute); + final String beanMethod = element.getAttribute(methodRefAttribute); + if (StringUtils.hasText(beanRef)) { + if (StringUtils.hasText(beanMethod)) { + String adapterBeanName = this.createAdapter(beanRef, beanMethod, adapterClass, parserContext); + builder.addPropertyReference(beanProperty, adapterBeanName); + } + else { + builder.addPropertyReference(beanProperty, beanRef); + } + } + } - private void injectPropertyWithBean(String beanRefAttribute, String methodRefAttribute, - String beanProperty, String adapterClass, Element element, - BeanDefinitionBuilder builder, ParserContext parserContext) { - final String beanRef = element.getAttribute(beanRefAttribute); - final String beanMethod = element.getAttribute(methodRefAttribute); - if (StringUtils.hasText(beanRef)) { - if (StringUtils.hasText(beanMethod)) { - String adapterBeanName = this.createAdapter(beanRef, beanMethod, adapterClass, - parserContext); - builder.addPropertyReference(beanProperty, adapterBeanName); - } else { - builder.addPropertyReference(beanProperty, beanRef); - } - } - } - - private String createAdapter(String ref, String method, String unqualifiedClassName, - ParserContext parserContext) { - BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( - IntegrationNamespaceUtils.BASE_PACKAGE + ".aggregator." + unqualifiedClassName); - builder.addConstructorArgReference(ref); - builder.getRawBeanDefinition().getConstructorArgumentValues().addGenericArgumentValue(method, "java.lang.String"); - return BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), - parserContext.getRegistry()); - } + private String createAdapter(String ref, String method, String unqualifiedClassName, ParserContext parserContext) { + BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( + IntegrationNamespaceUtils.BASE_PACKAGE + ".aggregator." + unqualifiedClassName); + builder.addConstructorArgReference(ref); + builder.getRawBeanDefinition().getConstructorArgumentValues() + .addGenericArgumentValue(method, "java.lang.String"); + return BeanDefinitionReaderUtils.registerWithGeneratedName( + builder.getBeanDefinition(), parserContext.getRegistry()); + } }