added chaining-capable "add" method to MutablePropertyValues

This commit is contained in:
Juergen Hoeller
2009-11-19 22:30:35 +00:00
parent a300aa19b6
commit 46cd083976
65 changed files with 572 additions and 545 deletions

View File

@@ -116,7 +116,7 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
"Listener 'ref' attribute contains empty value.", listenerEle);
}
else {
listenerDef.getPropertyValues().addPropertyValue("delegate", new RuntimeBeanReference(ref));
listenerDef.getPropertyValues().add("delegate", new RuntimeBeanReference(ref));
}
String method = null;
@@ -127,7 +127,7 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
"Listener 'method' attribute contains empty value.", listenerEle);
}
}
listenerDef.getPropertyValues().addPropertyValue("defaultListenerMethod", method);
listenerDef.getPropertyValues().add("defaultListenerMethod", method);
if (containerEle.hasAttribute(MESSAGE_CONVERTER_ATTRIBUTE)) {
String messageConverter = containerEle.getAttribute(MESSAGE_CONVERTER_ATTRIBUTE);
@@ -136,7 +136,7 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
"Listener container 'message-converter' attribute contains empty value.", containerEle);
}
else {
listenerDef.getPropertyValues().addPropertyValue("messageConverter",
listenerDef.getPropertyValues().add("messageConverter",
new RuntimeBeanReference(messageConverter));
}
}
@@ -146,10 +146,10 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
if (listenerEle.hasAttribute(RESPONSE_DESTINATION_ATTRIBUTE)) {
String responseDestination = listenerEle.getAttribute(RESPONSE_DESTINATION_ATTRIBUTE);
boolean pubSubDomain = indicatesPubSub(containerDef);
listenerDef.getPropertyValues().addPropertyValue(
listenerDef.getPropertyValues().add(
pubSubDomain ? "defaultResponseTopicName" : "defaultResponseQueueName", responseDestination);
if (containerDef.getPropertyValues().contains("destinationResolver")) {
listenerDef.getPropertyValues().addPropertyValue("destinationResolver",
listenerDef.getPropertyValues().add("destinationResolver",
containerDef.getPropertyValues().getPropertyValue("destinationResolver").getValue());
}
}
@@ -159,7 +159,7 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
listenerDef.setBeanClassName(
"org.springframework.jms.listener.adapter.MessageListenerAdapter" + (jms102 ? "102" : ""));
containerDef.getPropertyValues().addPropertyValue("messageListener", listenerDef);
containerDef.getPropertyValues().add("messageListener", listenerDef);
String containerBeanName = listenerEle.getAttribute(ID_ATTRIBUTE);
// If no bean id is given auto generate one using the ReaderContext's BeanNameGenerator
@@ -188,7 +188,7 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
parserContext.getReaderContext().error(
"Listener 'destination' attribute contains empty value.", ele);
}
configDef.getPropertyValues().addPropertyValue("destinationName", destination);
configDef.getPropertyValues().add("destinationName", destination);
if (ele.hasAttribute(SUBSCRIPTION_ATTRIBUTE)) {
String subscription = ele.getAttribute(SUBSCRIPTION_ATTRIBUTE);
@@ -196,7 +196,7 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
parserContext.getReaderContext().error(
"Listener 'subscription' attribute contains empty value.", ele);
}
configDef.getPropertyValues().addPropertyValue("durableSubscriptionName", subscription);
configDef.getPropertyValues().add("durableSubscriptionName", subscription);
}
if (ele.hasAttribute(SELECTOR_ATTRIBUTE)) {
@@ -205,7 +205,7 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
parserContext.getReaderContext().error(
"Listener 'selector' attribute contains empty value.", ele);
}
configDef.getPropertyValues().addPropertyValue("messageSelector", selector);
configDef.getPropertyValues().add("messageSelector", selector);
}
}
@@ -227,8 +227,8 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
parserContext.getReaderContext().error("Invalid listener container 'destination-type': " +
"only \"queue\", \"topic\" and \"durableTopic\" supported.", ele);
}
configDef.getPropertyValues().addPropertyValue("pubSubDomain", pubSubDomain);
configDef.getPropertyValues().addPropertyValue("subscriptionDurable", subscriptionDurable);
configDef.getPropertyValues().add("pubSubDomain", pubSubDomain);
configDef.getPropertyValues().add("subscriptionDurable", subscriptionDurable);
if (ele.hasAttribute(CLIENT_ID_ATTRIBUTE)) {
String clientId = ele.getAttribute(CLIENT_ID_ATTRIBUTE);
@@ -236,7 +236,7 @@ abstract class AbstractListenerContainerParser implements BeanDefinitionParser {
parserContext.getReaderContext().error(
"Listener 'client-id' attribute contains empty value.", ele);
}
configDef.getPropertyValues().addPropertyValue("clientId", clientId);
configDef.getPropertyValues().add("clientId", clientId);
}
}

View File

@@ -49,7 +49,7 @@ class JcaListenerContainerParser extends AbstractListenerContainerParser {
"Listener container 'resource-adapter' attribute contains empty value.", containerEle);
}
else {
containerDef.getPropertyValues().addPropertyValue("resourceAdapter",
containerDef.getPropertyValues().add("resourceAdapter",
new RuntimeBeanReference(resourceAdapterBeanName));
}
}
@@ -62,11 +62,11 @@ class JcaListenerContainerParser extends AbstractListenerContainerParser {
"'destination-resolver', not both. If you define a dedicated JmsActivationSpecFactory bean, " +
"specify the custom DestinationResolver there (if possible).", containerEle);
}
containerDef.getPropertyValues().addPropertyValue("activationSpecFactory",
containerDef.getPropertyValues().add("activationSpecFactory",
new RuntimeBeanReference(activationSpecFactoryBeanName));
}
if (StringUtils.hasText(destinationResolverBeanName)) {
containerDef.getPropertyValues().addPropertyValue("destinationResolver",
containerDef.getPropertyValues().add("destinationResolver",
new RuntimeBeanReference(destinationResolverBeanName));
}
@@ -79,26 +79,26 @@ class JcaListenerContainerParser extends AbstractListenerContainerParser {
Integer acknowledgeMode = parseAcknowledgeMode(containerEle, parserContext);
if (acknowledgeMode != null) {
configDef.getPropertyValues().addPropertyValue("acknowledgeMode", acknowledgeMode);
configDef.getPropertyValues().add("acknowledgeMode", acknowledgeMode);
}
String transactionManagerBeanName = containerEle.getAttribute(TRANSACTION_MANAGER_ATTRIBUTE);
if (StringUtils.hasText(transactionManagerBeanName)) {
containerDef.getPropertyValues().addPropertyValue("transactionManager",
containerDef.getPropertyValues().add("transactionManager",
new RuntimeBeanReference(transactionManagerBeanName));
}
int[] concurrency = parseConcurrency(containerEle, parserContext);
if (concurrency != null) {
configDef.getPropertyValues().addPropertyValue("maxConcurrency", concurrency[1]);
configDef.getPropertyValues().add("maxConcurrency", concurrency[1]);
}
String prefetch = containerEle.getAttribute(PREFETCH_ATTRIBUTE);
if (StringUtils.hasText(prefetch)) {
configDef.getPropertyValues().addPropertyValue("prefetchSize", new Integer(prefetch));
configDef.getPropertyValues().add("prefetchSize", new Integer(prefetch));
}
containerDef.getPropertyValues().addPropertyValue("activationSpecConfig", configDef);
containerDef.getPropertyValues().add("activationSpecConfig", configDef);
return containerDef;
}

View File

@@ -85,25 +85,25 @@ class JmsListenerContainerParser extends AbstractListenerContainerParser {
}
}
if (StringUtils.hasText(connectionFactoryBeanName)) {
containerDef.getPropertyValues().addPropertyValue("connectionFactory",
containerDef.getPropertyValues().add("connectionFactory",
new RuntimeBeanReference(connectionFactoryBeanName));
}
String taskExecutorBeanName = containerEle.getAttribute(TASK_EXECUTOR_ATTRIBUTE);
if (StringUtils.hasText(taskExecutorBeanName)) {
containerDef.getPropertyValues().addPropertyValue("taskExecutor",
containerDef.getPropertyValues().add("taskExecutor",
new RuntimeBeanReference(taskExecutorBeanName));
}
String errorHandlerBeanName = containerEle.getAttribute(ERROR_HANDLER_ATTRIBUTE);
if (StringUtils.hasText(errorHandlerBeanName)) {
containerDef.getPropertyValues().addPropertyValue("errorHandler",
containerDef.getPropertyValues().add("errorHandler",
new RuntimeBeanReference(errorHandlerBeanName));
}
String destinationResolverBeanName = containerEle.getAttribute(DESTINATION_RESOLVER_ATTRIBUTE);
if (StringUtils.hasText(destinationResolverBeanName)) {
containerDef.getPropertyValues().addPropertyValue("destinationResolver",
containerDef.getPropertyValues().add("destinationResolver",
new RuntimeBeanReference(destinationResolverBeanName));
}
@@ -117,17 +117,17 @@ class JmsListenerContainerParser extends AbstractListenerContainerParser {
}
}
else {
containerDef.getPropertyValues().addPropertyValue("cacheLevelName", "CACHE_" + cache.toUpperCase());
containerDef.getPropertyValues().add("cacheLevelName", "CACHE_" + cache.toUpperCase());
}
}
Integer acknowledgeMode = parseAcknowledgeMode(containerEle, parserContext);
if (acknowledgeMode != null) {
if (acknowledgeMode == Session.SESSION_TRANSACTED) {
containerDef.getPropertyValues().addPropertyValue("sessionTransacted", Boolean.TRUE);
containerDef.getPropertyValues().add("sessionTransacted", Boolean.TRUE);
}
else {
containerDef.getPropertyValues().addPropertyValue("sessionAcknowledgeMode", acknowledgeMode);
containerDef.getPropertyValues().add("sessionAcknowledgeMode", acknowledgeMode);
}
}
@@ -138,7 +138,7 @@ class JmsListenerContainerParser extends AbstractListenerContainerParser {
"'transaction-manager' attribute not supported for listener container of type \"simple\".", containerEle);
}
else {
containerDef.getPropertyValues().addPropertyValue("transactionManager",
containerDef.getPropertyValues().add("transactionManager",
new RuntimeBeanReference(transactionManagerBeanName));
}
}
@@ -146,18 +146,18 @@ class JmsListenerContainerParser extends AbstractListenerContainerParser {
int[] concurrency = parseConcurrency(containerEle, parserContext);
if (concurrency != null) {
if (containerType.startsWith("default")) {
containerDef.getPropertyValues().addPropertyValue("concurrentConsumers", concurrency[0]);
containerDef.getPropertyValues().addPropertyValue("maxConcurrentConsumers", concurrency[1]);
containerDef.getPropertyValues().add("concurrentConsumers", concurrency[0]);
containerDef.getPropertyValues().add("maxConcurrentConsumers", concurrency[1]);
}
else {
containerDef.getPropertyValues().addPropertyValue("concurrentConsumers", concurrency[1]);
containerDef.getPropertyValues().add("concurrentConsumers", concurrency[1]);
}
}
String prefetch = containerEle.getAttribute(PREFETCH_ATTRIBUTE);
if (StringUtils.hasText(prefetch)) {
if (containerType.startsWith("default")) {
containerDef.getPropertyValues().addPropertyValue("maxMessagesPerTask", new Integer(prefetch));
containerDef.getPropertyValues().add("maxMessagesPerTask", new Integer(prefetch));
}
}