Allow 'arg-type' matches against element body
Allow the body of 'arg-type' XML elements to be used as an alternative to
'match' attribute when defining a 'replace-method' in XML configuration.
This change has been introduced primarily to support the samples printed
in the Apress 'Pro Spring' book.
Issue: SPR-9812
Backport-Issue: SPR-9929
Backport-Commit: 0709c033a0
This commit is contained in:
committed by
Phillip Webb
parent
ea49c8b840
commit
983e2ce64f
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2011 the original author or authors.
|
||||
* Copyright 2002-2012 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.
|
||||
@@ -826,7 +826,11 @@ public class BeanDefinitionParserDelegate {
|
||||
// Look for arg-type match elements.
|
||||
List<Element> argTypeEles = DomUtils.getChildElementsByTagName(replacedMethodEle, ARG_TYPE_ELEMENT);
|
||||
for (Element argTypeEle : argTypeEles) {
|
||||
replaceOverride.addTypeIdentifier(argTypeEle.getAttribute(ARG_TYPE_MATCH_ATTRIBUTE));
|
||||
String match = argTypeEle.getAttribute(ARG_TYPE_MATCH_ATTRIBUTE);
|
||||
match = (StringUtils.hasText(match) ? match : DomUtils.getTextValue(argTypeEle));
|
||||
if (StringUtils.hasText(match)) {
|
||||
replaceOverride.addTypeIdentifier(match);
|
||||
}
|
||||
}
|
||||
replaceOverride.setSource(extractSource(replacedMethodEle));
|
||||
overrides.addOverride(replaceOverride);
|
||||
|
||||
Reference in New Issue
Block a user