From 041229b5ae6d8692300af3a8d263b3a9249a8f1b Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Mon, 10 Dec 2012 10:18:54 +0000 Subject: [PATCH] SWS-819: SimpleNamespaceContext.removeBinding() does not clean up all references --- .../xml/namespace/SimpleNamespaceContext.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/xml/src/main/java/org/springframework/xml/namespace/SimpleNamespaceContext.java b/xml/src/main/java/org/springframework/xml/namespace/SimpleNamespaceContext.java index bedee538..86895731 100644 --- a/xml/src/main/java/org/springframework/xml/namespace/SimpleNamespaceContext.java +++ b/xml/src/main/java/org/springframework/xml/namespace/SimpleNamespaceContext.java @@ -151,9 +151,11 @@ public class SimpleNamespaceContext implements NamespaceContext { * @param prefix the prefix to be removed */ public void removeBinding(String prefix) { - String namespaceUri = (String) prefixToNamespaceUri.get(prefix); - List prefixes = getPrefixesInternal(namespaceUri); - prefixes.remove(prefix); + String namespaceUri = (String) prefixToNamespaceUri.remove(prefix); + if (namespaceUri != null) { + List prefixes = getPrefixesInternal(namespaceUri); + prefixes.remove(prefix); + } } public boolean hasBinding(String prefix) {