From 9258672c935aa04ea266681f35595e3cd0c81dea Mon Sep 17 00:00:00 2001 From: hduelme Date: Tue, 10 Jan 2023 22:35:05 +0100 Subject: [PATCH] simplify SimpleNamespaceContext --- .../xml/namespace/SimpleNamespaceContext.java | 14 ++---- .../namespace/SimpleNamespaceContextTest.java | 45 +++++++++---------- 2 files changed, 24 insertions(+), 35 deletions(-) diff --git a/spring-xml/src/main/java/org/springframework/xml/namespace/SimpleNamespaceContext.java b/spring-xml/src/main/java/org/springframework/xml/namespace/SimpleNamespaceContext.java index d141592fb..8eb5b8e61 100644 --- a/spring-xml/src/main/java/org/springframework/xml/namespace/SimpleNamespaceContext.java +++ b/spring-xml/src/main/java/org/springframework/xml/namespace/SimpleNamespaceContext.java @@ -38,9 +38,9 @@ */ public class SimpleNamespaceContext implements NamespaceContext { - private Map prefixToNamespaceUri = new LinkedHashMap(); + private final Map prefixToNamespaceUri = new LinkedHashMap<>(); - private Map> namespaceUriToPrefixes = new LinkedHashMap>(); + private final Map> namespaceUriToPrefixes = new LinkedHashMap<>(); @Override public String getNamespaceURI(String prefix) { @@ -122,7 +122,7 @@ public void clear() { * @return the declared prefixes */ public Iterator getBoundPrefixes() { - Set prefixes = new HashSet(prefixToNamespaceUri.keySet()); + Set prefixes = new HashSet<>(prefixToNamespaceUri.keySet()); prefixes.remove(XMLConstants.DEFAULT_NS_PREFIX); prefixes = Collections.unmodifiableSet(prefixes); return prefixes.iterator(); @@ -133,14 +133,8 @@ private Set getPrefixesInternal(String namespaceUri) { return Collections.singleton(XMLConstants.XML_NS_PREFIX); } else if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceUri)) { return Collections.singleton(XMLConstants.XMLNS_ATTRIBUTE); - } else { - Set set = namespaceUriToPrefixes.get(namespaceUri); - if (set == null) { - set = new LinkedHashSet(); - namespaceUriToPrefixes.put(namespaceUri, set); - } - return set; } + return namespaceUriToPrefixes.computeIfAbsent(namespaceUri, k -> new LinkedHashSet<>()); } /** diff --git a/spring-xml/src/test/java/org/springframework/xml/namespace/SimpleNamespaceContextTest.java b/spring-xml/src/test/java/org/springframework/xml/namespace/SimpleNamespaceContextTest.java index 3e79182ee..07de11c50 100644 --- a/spring-xml/src/test/java/org/springframework/xml/namespace/SimpleNamespaceContextTest.java +++ b/spring-xml/src/test/java/org/springframework/xml/namespace/SimpleNamespaceContextTest.java @@ -27,34 +27,33 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -public class SimpleNamespaceContextTest { +class SimpleNamespaceContextTest { private SimpleNamespaceContext context; @BeforeEach - public void setUp() throws Exception { - + void setUp() { context = new SimpleNamespaceContext(); context.bindNamespaceUri("prefix", "namespaceURI"); } @Test - public void testGetNamespaceURI() { + void testGetNamespaceURI() { - assertThat(context.getNamespaceURI(XMLConstants.DEFAULT_NS_PREFIX)).isEqualTo(""); + assertThat(context.getNamespaceURI(XMLConstants.DEFAULT_NS_PREFIX)).isEmpty(); String defaultNamespaceUri = "defaultNamespace"; context.bindNamespaceUri(XMLConstants.DEFAULT_NS_PREFIX, defaultNamespaceUri); assertThat(context.getNamespaceURI(XMLConstants.DEFAULT_NS_PREFIX)).isEqualTo(defaultNamespaceUri); assertThat(context.getNamespaceURI("prefix")).isEqualTo("namespaceURI"); - assertThat(context.getNamespaceURI("unbound")).isEqualTo(""); + assertThat(context.getNamespaceURI("unbound")).isEmpty(); assertThat(context.getNamespaceURI(XMLConstants.XML_NS_PREFIX)).isEqualTo(XMLConstants.XML_NS_URI); assertThat(context.getNamespaceURI(XMLConstants.XMLNS_ATTRIBUTE)).isEqualTo(XMLConstants.XMLNS_ATTRIBUTE_NS_URI); } @Test - public void testGetPrefix() { + void testGetPrefix() { context.bindDefaultNamespaceUri("defaultNamespaceURI"); @@ -66,7 +65,7 @@ public void testGetPrefix() { } @Test - public void testGetPrefixes() { + void testGetPrefixes() { context.bindDefaultNamespaceUri("defaultNamespaceURI"); @@ -78,22 +77,18 @@ public void testGetPrefixes() { } @Test - public void unmodifiableGetPrefixes() { - - assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> { - - String namespaceUri = "namespaceUri"; - context.bindNamespaceUri("prefix1", namespaceUri); - context.bindNamespaceUri("prefix2", namespaceUri); + void unmodifiableGetPrefixes() { + String namespaceUri = "namespaceUri"; + context.bindNamespaceUri("prefix1", namespaceUri); + context.bindNamespaceUri("prefix2", namespaceUri); - Iterator prefixes = context.getPrefixes(namespaceUri); - prefixes.next(); - prefixes.remove(); - }); + Iterator prefixes = context.getPrefixes(namespaceUri); + prefixes.next(); + assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(prefixes::remove); } @Test - public void testMultiplePrefixes() { + void testMultiplePrefixes() { context.bindNamespaceUri("prefix1", "namespace"); context.bindNamespaceUri("prefix2", "namespace"); @@ -130,7 +125,7 @@ private void assertPrefixes(String namespaceUri, String prefix) { } @Test - public void testGetBoundPrefixes() { + void testGetBoundPrefixes() { Iterator iterator = context.getBoundPrefixes(); @@ -144,7 +139,7 @@ public void testGetBoundPrefixes() { } @Test - public void testSetBindings() { + void testSetBindings() { context.setBindings(Collections.singletonMap("prefix", "namespace")); @@ -152,7 +147,7 @@ public void testSetBindings() { } @Test - public void testRemoveBinding() { + void testRemoveBinding() { context.clear(); @@ -175,7 +170,7 @@ public void testRemoveBinding() { } @Test - public void testHasBinding() { + void testHasBinding() { context.clear(); @@ -190,7 +185,7 @@ public void testHasBinding() { } @Test - public void testDefaultNamespaceMultiplePrefixes() { + void testDefaultNamespaceMultiplePrefixes() { String defaultNamespace = "http://springframework.org/spring-ws";