[utilities COMMIT] /spring-extensions/trunk/src/main/java/net/shibboleth/ext/spring/util/BaseSpringNamespaceHandler.java
noreply at shibboleth.net
noreply at shibboleth.net
Wed Feb 11 19:42:29 EST 2015
Author: putmanb
Date: Wed Feb 11 19:42:28 2015
New Revision: 751
URL: http://svn.shibboleth.net/view/utilities?rev=751&view=rev
Log:
Improve error logging and exception message to include xsi:type info in case where parser lookup fails.
Fix unrelated log typos.
Modified:
spring-extensions/trunk/src/main/java/net/shibboleth/ext/spring/util/BaseSpringNamespaceHandler.java
Modified: spring-extensions/trunk/src/main/java/net/shibboleth/ext/spring/util/BaseSpringNamespaceHandler.java
URL: http://svn.shibboleth.net/view/utilities/spring-extensions/trunk/src/main/java/net/shibboleth/ext/spring/util/BaseSpringNamespaceHandler.java?rev=751&r1=750&r2=751&view=diff
==============================================================================
--- spring-extensions/trunk/src/main/java/net/shibboleth/ext/spring/util/BaseSpringNamespaceHandler.java (original)
+++ spring-extensions/trunk/src/main/java/net/shibboleth/ext/spring/util/BaseSpringNamespaceHandler.java Wed Feb 11 19:42:28 2015
@@ -105,24 +105,28 @@
* @return the parser for the given bean element
*/
protected BeanDefinitionParser findParserForElement(Element element) {
- QName parserId;
BeanDefinitionParser parser = null;
- parserId = DOMTypeSupport.getXSIType(element);
- if (parserId != null) {
- log.trace("Attempting to find parser for element of type: {}", parserId);
- parser = parsers.get(parserId);
+ QName typeName = DOMTypeSupport.getXSIType(element);
+ if (typeName != null) {
+ log.trace("Attempting to find parser for element of type: {}", typeName);
+ parser = parsers.get(typeName);
+ }
+
+ QName elementName = null;
+ if (parser == null) {
+ elementName = QNameSupport.getNodeQName(element);
+ log.trace("Attempting to find parser with element name: {}", elementName);
+ parser = parsers.get(elementName);
}
if (parser == null) {
- parserId = QNameSupport.getNodeQName(element);
- log.trace("Attempting to find parser with element name: {}", parserId);
- parser = parsers.get(parserId);
- }
-
- if (parser == null) {
- log.error("Cannot locate BeanDefinitionParser for element: " + parserId);
- throw new IllegalArgumentException("Cannot locate BeanDefinitionParser for element: " + parserId);
+ String msg = "Can not locate BeanDefinitionParser for element: " + elementName;
+ if (typeName != null) {
+ msg = msg + ", carrying xsi:type: " + typeName;
+ }
+ log.error(msg);
+ throw new IllegalArgumentException(msg);
}
return parser;
@@ -147,12 +151,12 @@
} else if (node instanceof Attr) {
decorator = attributeDecorators.get(node.getLocalName());
} else {
- throw new IllegalArgumentException("Cannot decorate based on Nodes of type [" + node.getClass().getName()
+ throw new IllegalArgumentException("Can not decorate based on Nodes of type [" + node.getClass().getName()
+ "]");
}
if (decorator == null) {
- throw new IllegalArgumentException("Cannot locate BeanDefinitionDecorator for " + " ["
+ throw new IllegalArgumentException("Can not locate BeanDefinitionDecorator for " + " ["
+ node.getLocalName() + "]");
}
More information about the commits
mailing list