diff --git a/org.springframework.aop/src/main/java/org/springframework/aop/config/ConfigBeanDefinitionParser.java b/org.springframework.aop/src/main/java/org/springframework/aop/config/ConfigBeanDefinitionParser.java index e3df259fdc..de8beff487 100644 --- a/org.springframework.aop/src/main/java/org/springframework/aop/config/ConfigBeanDefinitionParser.java +++ b/org.springframework.aop/src/main/java/org/springframework/aop/config/ConfigBeanDefinitionParser.java @@ -102,20 +102,17 @@ class ConfigBeanDefinitionParser implements BeanDefinitionParser { configureAutoProxyCreator(parserContext, element); - NodeList childNodes = element.getChildNodes(); - for (int i = 0; i < childNodes.getLength(); i++) { - Node node = childNodes.item(i); - if (node.getNodeType() == Node.ELEMENT_NODE) { - String localName = parserContext.getDelegate().getLocalName(node); - if (POINTCUT.equals(localName)) { - parsePointcut((Element) node, parserContext); - } - else if (ADVISOR.equals(localName)) { - parseAdvisor((Element) node, parserContext); - } - else if (ASPECT.equals(localName)) { - parseAspect((Element) node, parserContext); - } + List childElts = DomUtils.getChildElements(element); + for (Element elt: childElts) { + String localName = parserContext.getDelegate().getLocalName(elt); + if (POINTCUT.equals(localName)) { + parsePointcut(elt, parserContext); + } + else if (ADVISOR.equals(localName)) { + parseAdvisor(elt, parserContext); + } + else if (ASPECT.equals(localName)) { + parseAspect(elt, parserContext); } } diff --git a/org.springframework.core/build.xml b/org.springframework.core/build.xml index 9ec442705a..54975892df 100644 --- a/org.springframework.core/build.xml +++ b/org.springframework.core/build.xml @@ -22,3 +22,4 @@ + \ No newline at end of file diff --git a/org.springframework.core/src/main/java/org/springframework/util/xml/DomUtils.java b/org.springframework.core/src/main/java/org/springframework/util/xml/DomUtils.java index 7696d6b23b..62e1328fcf 100644 --- a/org.springframework.core/src/main/java/org/springframework/util/xml/DomUtils.java +++ b/org.springframework.core/src/main/java/org/springframework/util/xml/DomUtils.java @@ -38,6 +38,7 @@ import org.springframework.util.Assert; * @author Rob Harrop * @author Costin Leau * @author Arjen Poutsma + * @author Luke Taylor * @see org.w3c.dom.Node * @see org.w3c.dom.Element * @since 1.2 @@ -117,6 +118,25 @@ public abstract class DomUtils { return (child != null ? getTextValue(child) : null); } + /** + * Retrieve all child elements of the given DOM element + + * @param ele the DOM element to analyze + * @return a List of child org.w3c.dom.Element instances + */ + public static List getChildElements(Element ele) { + Assert.notNull(ele, "Element must not be null"); + NodeList nl = ele.getChildNodes(); + List childEles = new ArrayList(); + for (int i = 0; i < nl.getLength(); i++) { + Node node = nl.item(i); + if (node instanceof Element) { + childEles.add((Element) node); + } + } + return childEles; + } + /** * Extract the text value from the given DOM element, ignoring XML comments.

Appends all CharacterData nodes and * EntityReference nodes into a single String value, excluding Comment nodes. diff --git a/org.springframework.oxm/.classpath b/org.springframework.oxm/.classpath index 7ad7981795..4b30faa179 100644 --- a/org.springframework.oxm/.classpath +++ b/org.springframework.oxm/.classpath @@ -5,7 +5,7 @@ - + diff --git a/org.springframework.web.servlet/.classpath b/org.springframework.web.servlet/.classpath index 6e73dff6a9..9f097da290 100644 --- a/org.springframework.web.servlet/.classpath +++ b/org.springframework.web.servlet/.classpath @@ -12,7 +12,6 @@ - diff --git a/org.springframework.web/.classpath b/org.springframework.web/.classpath index 72ec67a2ce..7752d41685 100644 --- a/org.springframework.web/.classpath +++ b/org.springframework.web/.classpath @@ -9,7 +9,6 @@ -