From 98bf3a49a6af547327f3d881c8d34a11960e6bfc Mon Sep 17 00:00:00 2001 From: prakanth <50439067+prakanth97@users.noreply.github.com> Date: Mon, 27 May 2024 14:00:45 +0530 Subject: [PATCH] Correct remove method of QualifiedNameMap --- .../ballerina/lib/data/xmldata/xml/QualifiedNameMap.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/native/src/main/java/io/ballerina/lib/data/xmldata/xml/QualifiedNameMap.java b/native/src/main/java/io/ballerina/lib/data/xmldata/xml/QualifiedNameMap.java index 4fbc856..2a69d27 100644 --- a/native/src/main/java/io/ballerina/lib/data/xmldata/xml/QualifiedNameMap.java +++ b/native/src/main/java/io/ballerina/lib/data/xmldata/xml/QualifiedNameMap.java @@ -29,12 +29,19 @@ public V remove(QualifiedName qName) { if (!fields.containsKey(localName)) { return null; } + + List qNames = fields.get(localName); for (QualifiedName qualifiedName : fields.get(localName)) { if (qualifiedName.getNamespaceURI().equals(Constants.NS_ANNOT_NOT_DEFINED)) { field = this.members.remove(qualifiedName); + qNames.remove(qualifiedName); break; } } + + if (qNames.isEmpty()) { + fields.remove(localName); + } } return field; }