Sort members
diff --git a/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java b/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
index e4911b9..df58fba 100644
--- a/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
@@ -407,6 +407,23 @@
}
/**
+ * Checks if the specified value exists in the properties structure mapped by the provided keys.
+ *
+ * @param keys an Iterator of String keys to search for the value
+ * @param value the String value to search for in the properties
+ * @return true if the value is found in the properties, false otherwise
+ * @since 2.11.0
+ */
+ protected boolean contains(final Iterator<String> keys, final Object value) {
+ while (keys.hasNext()) {
+ if (Objects.equals(value, getProperty(keys.next()))) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
* {@inheritDoc} This implementation handles synchronization and delegates to {@code containsKeyInternal()}.
*/
@Override
@@ -420,20 +437,6 @@
}
/**
- * {@inheritDoc} This implementation handles synchronization and delegates to {@code containsKeyInternal()}.
- * @since 2.11.0
- */
- @Override
- public final boolean containsValue(final Object value) {
- beginRead(false);
- try {
- return containsValueInternal(value);
- } finally {
- endRead();
- }
- }
-
- /**
* Actually checks whether the specified key is contained in this configuration. This method is called by
* {@code containsKey()}. It has to be defined by concrete subclasses.
*
@@ -444,6 +447,20 @@
protected abstract boolean containsKeyInternal(String key);
/**
+ * {@inheritDoc} This implementation handles synchronization and delegates to {@code containsKeyInternal()}.
+ * @since 2.11.0
+ */
+ @Override
+ public final boolean containsValue(final Object value) {
+ beginRead(false);
+ try {
+ return containsValueInternal(value);
+ } finally {
+ endRead();
+ }
+ }
+
+ /**
* Tests whether this configuration contains one or more matches to this value. This operation stops at first match but may be more expensive than the
* {@link #containsKeyInternal containsKey} method.
* <p>
@@ -1550,23 +1567,6 @@
return size;
}
- /**
- * Checks if the specified value exists in the properties structure mapped by the provided keys.
- *
- * @param keys an Iterator of String keys to search for the value
- * @param value the String value to search for in the properties
- * @return true if the value is found in the properties, false otherwise
- * @since 2.11.0
- */
- protected boolean contains(final Iterator<String> keys, final Object value) {
- while (keys.hasNext()) {
- if (Objects.equals(value, getProperty(keys.next()))) {
- return true;
- }
- }
- return false;
- }
-
@Override
public Configuration subset(final String prefix) {
return new SubsetConfiguration(this, prefix, ".");
diff --git a/src/main/java/org/apache/commons/configuration2/INIConfiguration.java b/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
index 703ad34..7088271 100644
--- a/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
@@ -204,11 +204,6 @@
public class INIConfiguration extends BaseHierarchicalConfiguration implements FileBasedConfiguration {
/**
- * The empty key.
- */
- private static final String EMPTY_KEY = " ";
-
- /**
* Builds instances of INIConfiguration.
*
* @since 2.9.0
@@ -308,6 +303,11 @@
}
/**
+ * The empty key.
+ */
+ private static final String EMPTY_KEY = " ";
+
+ /**
* The default characters that signal the start of a comment line.
*/
protected static final String COMMENT_CHARS = "#;";
diff --git a/src/test/java/org/apache/commons/configuration2/TestAbstractConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestAbstractConfiguration.java
index 773afa5..8d44833 100644
--- a/src/test/java/org/apache/commons/configuration2/TestAbstractConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestAbstractConfiguration.java
@@ -60,6 +60,21 @@
protected abstract AbstractConfiguration getEmptyConfiguration();
@Test
+ public void givenNullIteratorTestContains() {
+ final AbstractConfiguration config = getConfiguration();
+
+ assertThrows(NullPointerException.class, () -> config.contains(null, "value1"));
+ }
+
+ @Test
+ public void givenNullValueTestContains() {
+ AbstractConfiguration config = getConfiguration();
+ Iterator<String> keys = config.getKeys();
+ assertFalse(config.contains(keys, null));
+ assertFalse(config.contains(keys, ""));
+ }
+
+ @Test
public void testAddPropertyDirect() {
final AbstractConfiguration config = getConfiguration();
config.addPropertyDirect("key3", "value3");
@@ -79,12 +94,10 @@
}
@Test
- public void testContainsValue() {
+ public void testClearProperty() {
final Configuration config = getConfiguration();
- assertFalse(config.containsValue(null));
- assertFalse(config.containsValue(""));
- assertTrue(config.containsValue("value1"));
- assertFalse(config.containsValue("value99999"));
+ config.clearProperty("key2");
+ assertFalse(config.containsKey("key2"));
}
@Test
@@ -95,34 +108,21 @@
}
@Test
- public void givenNullIteratorTestContains() {
- final AbstractConfiguration config = getConfiguration();
-
- assertThrows(NullPointerException.class, () -> config.contains(null, "value1"));
- }
-
- @Test
- public void givenNullValueTestContains() {
- AbstractConfiguration config = getConfiguration();
- Iterator<String> keys = config.getKeys();
- assertFalse(config.contains(keys, null));
- assertFalse(config.contains(keys, ""));
- }
-
- @Test
- public void testClearProperty() {
- final Configuration config = getConfiguration();
- config.clearProperty("key2");
- assertFalse(config.containsKey("key2"));
- }
-
- @Test
public void testContainsKey() {
final Configuration config = getConfiguration();
assertTrue(config.containsKey("key1"));
assertFalse(config.containsKey("key3"));
}
+ @Test
+ public void testContainsValue() {
+ final Configuration config = getConfiguration();
+ assertFalse(config.containsValue(null));
+ assertFalse(config.containsValue(""));
+ assertTrue(config.containsValue("value1"));
+ assertFalse(config.containsValue("value99999"));
+ }
+
/**
* Tests the exception message triggered by the conversion to BigInteger. This test is related to CONFIGURATION-357.
*/
diff --git a/src/test/java/org/apache/commons/configuration2/TestAbstractHierarchicalConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestAbstractHierarchicalConfiguration.java
index bc2c7bd..3a39430 100644
--- a/src/test/java/org/apache/commons/configuration2/TestAbstractHierarchicalConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestAbstractHierarchicalConfiguration.java
@@ -509,6 +509,12 @@
}
@Test
+ public void testContainsValue() {
+ assertFalse(config.containsValue(null));
+ assertFalse(config.containsValue(""));
+ }
+
+ @Test
public void testGetKeys() {
final List<String> keys = new ArrayList<>();
for (final Iterator<String> it = config.getKeys(); it.hasNext();) {
@@ -941,10 +947,4 @@
public void testSize() {
assertEquals(2, config.size());
}
-
- @Test
- public void testContainsValue() {
- assertFalse(config.containsValue(null));
- assertFalse(config.containsValue(""));
- }
}
diff --git a/src/test/java/org/apache/commons/configuration2/TestBaseConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestBaseConfiguration.java
index be797a3..1388dc8 100644
--- a/src/test/java/org/apache/commons/configuration2/TestBaseConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestBaseConfiguration.java
@@ -179,6 +179,11 @@
}
@Test
+ public void testContainsValue() {
+ assertFalse(config.containsValue(null));
+ }
+
+ @Test
public void testGetBigDecimal() {
config.setProperty("numberBigD", "123.456");
final BigDecimal number = new BigDecimal("123.456");
@@ -718,9 +723,4 @@
public void testThrowExceptionOnMissing() {
assertTrue(config.isThrowExceptionOnMissing());
}
-
- @Test
- public void testContainsValue() {
- assertFalse(config.containsValue(null));
- }
}
diff --git a/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
index b858789..7d36cec 100644
--- a/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
@@ -381,6 +381,13 @@
}
@Test
+ public void testContainsValue() {
+ final Configuration config = conf.getConfiguration();
+ assertFalse(config.containsValue(null));
+ assertTrue(config.containsValue(""));
+ }
+
+ @Test
public void testConversionException() throws Exception {
conf.addProperty("key1", new Object());
conf.addProperty("key2", "xxxxxx");
@@ -1965,11 +1972,4 @@
public void testNullConfiguration() {
assertThrows(NullPointerException.class, () -> new DataConfiguration(null));
}
-
- @Test
- public void testContainsValue() {
- final Configuration config = conf.getConfiguration();
- assertFalse(config.containsValue(null));
- assertTrue(config.containsValue(""));
- }
}
diff --git a/src/test/java/org/apache/commons/configuration2/TestDatabaseConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestDatabaseConfiguration.java
index c4aa9f7..c954a3a 100644
--- a/src/test/java/org/apache/commons/configuration2/TestDatabaseConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestDatabaseConfiguration.java
@@ -108,6 +108,15 @@
listener = null; // mark as checked
}
+ @Test
+ void containsValueInternal() throws ConfigurationException {
+ final DatabaseConfiguration config = helper.setUpConfig();
+ config.addPropertyDirect("test", "test1");
+
+ assertTrue(config.containsValueInternal("test1"));
+ assertFalse(config.containsValue("test9999"));
+ }
+
@BeforeEach
public void setUp() throws Exception {
/*
@@ -173,24 +182,6 @@
assertTrue(config.containsKey("boolean"));
}
- @Test
- void testContainsValue() throws ConfigurationException {
- final DatabaseConfiguration config = helper.setUpConfig();
- config.addPropertyDirect("test", "test1");
-
- assertTrue(config.containsValue("test1"));
- assertFalse(config.containsValue("test9999"));
- }
-
- @Test
- void containsValueInternal() throws ConfigurationException {
- final DatabaseConfiguration config = helper.setUpConfig();
- config.addPropertyDirect("test", "test1");
-
- assertTrue(config.containsValueInternal("test1"));
- assertFalse(config.containsValue("test9999"));
- }
-
/**
* Tests whether a commit is performed after a property was added.
*/
@@ -359,6 +350,15 @@
assertTrue(config.containsKey("key2"));
}
+ @Test
+ void testContainsValue() throws ConfigurationException {
+ final DatabaseConfiguration config = helper.setUpConfig();
+ config.addPropertyDirect("test", "test1");
+
+ assertTrue(config.containsValue("test1"));
+ assertFalse(config.containsValue("test9999"));
+ }
+
/**
* Tests whether a CLOB as a property value is handled correctly.
*/
diff --git a/src/test/java/org/apache/commons/configuration2/TestDefaultImmutableConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestDefaultImmutableConfiguration.java
index 9b880d0..0245a7a 100644
--- a/src/test/java/org/apache/commons/configuration2/TestDefaultImmutableConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestDefaultImmutableConfiguration.java
@@ -346,6 +346,14 @@
}
@Test
+ public void testContainsValueDefaultImplementation() {
+ config.map.put("test", "213123");
+ assertFalse(config.containsValue(""));
+ assertFalse(config.containsValue(null));
+ assertTrue(config.containsValue("213123"));
+ }
+
+ @Test
public void testGetDuration() {
final Duration d = Duration.ofSeconds(1);
config.map.put("durationD", d.toString());
@@ -364,14 +372,6 @@
}
@Test
- public void testContainsValueDefaultImplementation() {
- config.map.put("test", "213123");
- assertFalse(config.containsValue(""));
- assertFalse(config.containsValue(null));
- assertTrue(config.containsValue("213123"));
- }
-
- @Test
public void testGetDurationUnknown() {
assertThrows(NoSuchElementException.class, () -> config.getDuration("numberNotInConfig"));
}
diff --git a/src/test/java/org/apache/commons/configuration2/TestMapConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestMapConfiguration.java
index d6f8120..ae5fe67 100644
--- a/src/test/java/org/apache/commons/configuration2/TestMapConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestMapConfiguration.java
@@ -117,6 +117,12 @@
}
@Test
+ public void testContainsValue() {
+ assertFalse(getConfiguration().containsValue(null));
+ assertFalse(getConfiguration().containsValue(""));
+ }
+
+ @Test
public void testGetMap() {
final Map<String, Object> map = new HashMap<>();
@@ -162,10 +168,4 @@
assertThrows(NullPointerException.class, () -> new MapConfiguration((Map) null));
assertThrows(NullPointerException.class, () -> new MapConfiguration((Properties) null));
}
-
- @Test
- public void testContainsValue() {
- assertFalse(getConfiguration().containsValue(null));
- assertFalse(getConfiguration().containsValue(""));
- }
}
diff --git a/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
index 6a223b1..dc75e9b 100644
--- a/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
@@ -554,6 +554,17 @@
testCompress840(object);
}
+ @Test
+ void testConfiguration() throws ConfigurationException {
+ Configurations configManager = new Configurations();
+ Configuration config = configManager.properties("src/test/resources/config/test.properties");
+
+ assertTrue(config.containsValue("jndivalue2"));
+ assertFalse(config.containsValue("notFound"));
+ assertFalse(config.containsValue(null));
+ assertFalse(config.containsValue(""));
+ }
+
/**
* Tests copying another configuration into the test configuration. This test ensures that the layout object is informed
* about the newly added properties.
@@ -1215,17 +1226,6 @@
assertEquals(Arrays.asList("C:\\path1\\", "C:\\path2\\", "C:\\path3\\complex\\test\\"), list);
}
- @Test
- void testConfiguration() throws ConfigurationException {
- Configurations configManager = new Configurations();
- Configuration config = configManager.properties("src/test/resources/config/test.properties");
-
- assertTrue(config.containsValue("jndivalue2"));
- assertFalse(config.containsValue("notFound"));
- assertFalse(config.containsValue(null));
- assertFalse(config.containsValue(""));
- }
-
/**
* Tests the propertyLoaded() method for a simple property.
*/
diff --git a/src/test/java/org/apache/commons/configuration2/web/TestServletRequestConfiguration.java b/src/test/java/org/apache/commons/configuration2/web/TestServletRequestConfiguration.java
index e32a947..be3328a 100644
--- a/src/test/java/org/apache/commons/configuration2/web/TestServletRequestConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/web/TestServletRequestConfiguration.java
@@ -94,6 +94,12 @@
assertThrows(UnsupportedOperationException.class, super::testClearProperty);
}
+ @Test
+ public void testContainsValue() {
+ assertFalse(getConfiguration().containsValue(null));
+ assertFalse(getConfiguration().containsValue(""));
+ }
+
/**
* Tests a list with elements that contain an escaped list delimiter.
*/
@@ -116,10 +122,4 @@
}
assertEquals(expected, v);
}
-
- @Test
- public void testContainsValue() {
- assertFalse(getConfiguration().containsValue(null));
- assertFalse(getConfiguration().containsValue(""));
- }
}