diff --git a/pom.xml b/pom.xml
index 9b0606b5e6..bc6b07e6bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,55 +24,15 @@
4.0.0
commons-configuration2
- 2.10.1-SNAPSHOT
+ 3.0.0-SNAPSHOT
Apache Commons Configuration
2001
- Tools to assist in the reading of configuration/preferences files in various formats; requires Java 8.
+ Tools to assist in the reading of configuration/preferences files in
+ various formats
-
- configuration
- org.apache.commons.configuration2
- 2.10.1
- 2.10.2
- (Java 8 or above)
- commons-configuration-${commons.release.2.version}
- 1.10
- (old 1.x version)
- CONFIGURATION
- 12310467
- 1.8
- 1.8
- https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-configuration
-
-
- org.apache.commons.beanutils.*;resolution:=optional,
- org.apache.commons.codec.*;resolution:=optional,
- org.apache.commons.jxpath.*;resolution:=optional,
- org.apache.xml.resolver.*;resolution:=optional,
- javax.servlet.*;resolution:=optional,
- org.apache.commons.jexl2.*;resolution:=optional,
- org.apache.commons.vfs2.*;resolution:=optional,
- org.springframework.*;resolution:=optional,
- com.fasterxml.jackson.*;resolution:=optional,
- org.yaml.snakeyaml.*;resolution:=optional,
- *
-
- 2.23.1
- 2.0.12
-
- 5.3.33
- false
-
- 2.10.0
- RC1
- true
- scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}
- 2024-03-12T23:55:07Z
-
-
https://commons.apache.org/proper/commons-configuration/
@@ -98,6 +58,233 @@
+
+
+ Daniel Rall
+ dlr
+ dlr@finemaltcoding.com
+ CollabNet, Inc.
+
+ Java Developer
+
+
+
+
+ Jason van Zyl
+ jvanzyl
+ jason@zenplex.com
+ Zenplex
+
+ Java Developer
+
+
+
+
+ Martin Poeschl
+ mpoeschl
+ mpoeschl@marmot.at
+ tucana.at
+
+ Java Developer
+
+
+
+
+ dIon Gillard
+ dion
+ dion@multitask.com.au
+ Multitask Consulting
+
+ Java Developer
+
+
+
+
+ Henning P. Schmiedehausen
+ henning
+ hps@intermeta.de
+ INTERMETA - Gesellschaft fuer Mehrwertdienste mbH
+ 2
+
+ Java Developer
+
+
+
+
+ Eric Pugh
+ epugh
+ epugh@upstate.com
+ upstate.com
+
+ Java Developer
+
+
+
+
+ Brian E. Dunbar
+ bdunbar
+ bdunbar@dunbarconsulting.org
+ dunbarconsulting.org
+
+ Java Developer
+
+
+
+
+ Emmanuel Bourg
+ ebourg
+ ebourg@apache.org
+ Ariane Software
+ +1
+
+ Java Developer
+
+
+
+
+ Oliver Heger
+ oheger
+ oheger@apache.org
+ Bosch Software Innovations
+ +1
+
+ Java Developer
+
+
+
+
+ Jörg Schaible
+ joehni
+ joerg.schaible@gmx.de
+ +1
+
+ Java Developer
+
+
+
+
+ Ralph Goers
+ rgoers
+ rgoers@apache.org
+ Intuit
+ -8
+
+ Java Developer
+
+
+
+
+ ggregory
+ Gary Gregory
+ ggregory at apache.org
+ https://www.garygregory.com
+ The Apache Software Foundation
+ https://www.apache.org/
+
+ PMC Member
+
+ America/New_York
+
+ https://people.apache.org/~ggregory/img/garydgregory80.png
+
+
+
+
+ Claude Warren
+ claudenw
+ claude@apache.org
+ 0
+
+ Java Developer
+
+
+
+
+ Rob Tompkins
+ chtompki
+ chtompki@apache.org
+ -4
+
+ Java Developer
+
+
+
+
+
+
+ Konstantin Shaposhnikov
+ ksh@scand.com
+ scand.com
+
+
+
+ Jamie M. Guillemette
+ JMGuillemette@gmail.com
+ TD Bank
+
+
+
+ Jorge Ferrer
+ jorge.ferrer@gmail.com
+
+
+
+
+ Gabriele Garuglieri
+ gabriele.garuglieri@infoblu.it
+ Infoblu S.p.A
+
+
+
+ Nicolas De Loof
+ nicolas.deloof@gmail.com
+ Cap Gemini
+
+
+
+ Oliver Kopp
+ koppdev@gmail.com
+
+
+
+ Dennis Kieselhorst
+ deki@apache.org
+ IRIAN Deutschland
+
+
+
+ Raviteja Lokineni
+ raviteja.lokineni@gmail.com
+
+
+
+ Vincent Maurin
+ vincent.maurin.fr@gmail.com
+ glispa GmbH
+
+
+
+ The Alchemist
+ kap4020@gmail.com
+
+
+
+ Pascal Essiembre
+ pascal.essiembre@norconex.com
+ Norconex Inc.
+ https://www.norconex.com
+
+ developer
+
+ -4
+
+
+
+ Patrick Schmidt
+ patrick.schmidt@codecamp.de
+
+
+
org.apache.commons
@@ -216,9 +403,9 @@
- javax.servlet
- servlet-api
- 2.5
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
provided
true
@@ -337,14 +524,59 @@
test
-
- org.slf4j
- slf4j-nop
- ${slf4j.version}
- test
-
+
+ org.slf4j
+ slf4j-nop
+ ${slf4j.version}
+ test
+
+
+
+
+
+ configuration
+ org.apache.commons.configuration2
+ 2.10.0
+ 2.10.1
+ (Java 8 or above)
+ commons-configuration-${commons.release.2.version}
+ 1.10
+ (old 1.x version)
+ CONFIGURATION
+ 12310467
+ 1.8
+ 1.8
+
+ https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-configuration
+
+
+
+ org.apache.commons.beanutils.*;resolution:=optional,
+ org.apache.commons.codec.*;resolution:=optional,
+ org.apache.commons.jxpath.*;resolution:=optional,
+ org.apache.xml.resolver.*;resolution:=optional,
+ javax.servlet.*;resolution:=optional,
+ org.apache.commons.jexl2.*;resolution:=optional,
+ org.apache.commons.vfs2.*;resolution:=optional,
+ org.springframework.*;resolution:=optional,
+ com.fasterxml.jackson.*;resolution:=optional,
+ org.yaml.snakeyaml.*;resolution:=optional,
+ *
+
+ 2.23.1
+ 2.0.12
+
+ 5.3.32
+
+ false
-
+
+ 3.0.0-SNAPSHOT
+ RC1
+ true
+ scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}
+ 2024-03-12T23:55:07Z
+
clean verify apache-rat:check japicmp:cmp checkstyle:check spotbugs:check pmd:check pmd:cpd-check javadoc:javadoc
@@ -627,231 +859,4 @@
-
-
- Daniel Rall
- dlr
- dlr@finemaltcoding.com
- CollabNet, Inc.
-
- Java Developer
-
-
-
-
- Jason van Zyl
- jvanzyl
- jason@zenplex.com
- Zenplex
-
- Java Developer
-
-
-
-
- Martin Poeschl
- mpoeschl
- mpoeschl@marmot.at
- tucana.at
-
- Java Developer
-
-
-
-
- dIon Gillard
- dion
- dion@multitask.com.au
- Multitask Consulting
-
- Java Developer
-
-
-
-
- Henning P. Schmiedehausen
- henning
- hps@intermeta.de
- INTERMETA - Gesellschaft fuer Mehrwertdienste mbH
- 2
-
- Java Developer
-
-
-
-
- Eric Pugh
- epugh
- epugh@upstate.com
- upstate.com
-
- Java Developer
-
-
-
-
- Brian E. Dunbar
- bdunbar
- bdunbar@dunbarconsulting.org
- dunbarconsulting.org
-
- Java Developer
-
-
-
-
- Emmanuel Bourg
- ebourg
- ebourg@apache.org
- Ariane Software
- +1
-
- Java Developer
-
-
-
-
- Oliver Heger
- oheger
- oheger@apache.org
- Bosch Software Innovations
- +1
-
- Java Developer
-
-
-
-
- Jörg Schaible
- joehni
- joerg.schaible@gmx.de
- +1
-
- Java Developer
-
-
-
-
- Ralph Goers
- rgoers
- rgoers@apache.org
- Intuit
- -8
-
- Java Developer
-
-
-
-
- ggregory
- Gary Gregory
- ggregory at apache.org
- https://www.garygregory.com
- The Apache Software Foundation
- https://www.apache.org/
-
- PMC Member
-
- America/New_York
-
- https://people.apache.org/~ggregory/img/garydgregory80.png
-
-
-
-
- Claude Warren
- claudenw
- claude@apache.org
- 0
-
- Java Developer
-
-
-
-
- Rob Tompkins
- chtompki
- chtompki@apache.org
- -4
-
- Java Developer
-
-
-
-
-
-
- Konstantin Shaposhnikov
- ksh@scand.com
- scand.com
-
-
-
- Jamie M. Guillemette
- JMGuillemette@gmail.com
- TD Bank
-
-
-
- Jorge Ferrer
- jorge.ferrer@gmail.com
-
-
-
-
- Gabriele Garuglieri
- gabriele.garuglieri@infoblu.it
- Infoblu S.p.A
-
-
-
- Nicolas De Loof
- nicolas.deloof@gmail.com
- Cap Gemini
-
-
-
- Oliver Kopp
- koppdev@gmail.com
-
-
-
- Dennis Kieselhorst
- deki@apache.org
- IRIAN Deutschland
-
-
-
- Raviteja Lokineni
- raviteja.lokineni@gmail.com
-
-
-
- Vincent Maurin
- vincent.maurin.fr@gmail.com
- glispa GmbH
-
-
-
- The Alchemist
- kap4020@gmail.com
-
-
-
- Pascal Essiembre
- pascal.essiembre@norconex.com
- Norconex Inc.
- https://www.norconex.com
-
- developer
-
- -4
-
-
-
- Patrick Schmidt
- patrick.schmidt@codecamp.de
-
-
-
diff --git a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
index 574256f643..6dd0396b37 100644
--- a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
@@ -45,7 +45,7 @@
* {@link java.util.Calendar}
* {@link java.awt.Color}
* {@link java.net.InetAddress}
- * {@code javax.mail.internet.InternetAddress} (requires Javamail in the classpath)
+ * {@code jakarta.mail.internet.InternetAddress} (requires Javamail in the classpath)
* {@code jakarta.mail.internet.InternetAddress} (requires Javamail 2.+ in the classpath)
* {@link Enum}
*
diff --git a/src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java b/src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java
index b45a1d9070..307d9de3e6 100644
--- a/src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java
+++ b/src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java
@@ -67,8 +67,8 @@ public final class PropertyConverter {
/** Constant for the argument classes of the Number constructor that takes a String. */
private static final Class>[] CONSTR_ARGS = {String.class};
- /** The fully qualified name of {@code javax.mail.internet.InternetAddress}, as used in the javamail-1.* API. */
- private static final String INTERNET_ADDRESS_CLASSNAME_JAVAX = "javax.mail.internet.InternetAddress";
+ /** The fully qualified name of {@code jakarta.mail.internet.InternetAddress}, as used in the javamail-1.* API. */
+ private static final String INTERNET_ADDRESS_CLASSNAME_JAVAX = "jakarta.mail.internet.InternetAddress";
/** The fully qualified name of {@code jakarta.mail.internet.InternetAddress}, as used in the javamail-2.0+ API. */
private static final String INTERNET_ADDRESS_CLASSNAME_JAKARTA = "jakarta.mail.internet.InternetAddress";
@@ -152,7 +152,7 @@ public static Object to(final Class> cls, final Object value, final DefaultCon
} else if (Color.class.equals(cls)) {
return toColor(value);
} else if (cls.getName().equals(INTERNET_ADDRESS_CLASSNAME_JAVAX)) {
- // javamail-1.* With javax.mail.* namespace.
+ // javamail-1.* With jakarta.mail.* namespace.
return toInternetAddress(value, INTERNET_ADDRESS_CLASSNAME_JAVAX);
} else if (cls.getName().equals(INTERNET_ADDRESS_CLASSNAME_JAKARTA)) {
// javamail-2.0+, with jakarta.mail.* namespace.
diff --git a/src/main/java/org/apache/commons/configuration2/web/ServletConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/ServletConfiguration.java
index e0deedb814..188054b205 100644
--- a/src/main/java/org/apache/commons/configuration2/web/ServletConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/ServletConfiguration.java
@@ -21,8 +21,8 @@
import java.util.Enumeration;
import java.util.Iterator;
-import javax.servlet.Servlet;
-import javax.servlet.ServletConfig;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletConfig;
/**
* A configuration wrapper around a {@link ServletConfig}. This configuration is read only, adding or removing a
diff --git a/src/main/java/org/apache/commons/configuration2/web/ServletContextConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/ServletContextConfiguration.java
index ab31109601..16fff0d90e 100644
--- a/src/main/java/org/apache/commons/configuration2/web/ServletContextConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/ServletContextConfiguration.java
@@ -21,8 +21,8 @@
import java.util.Enumeration;
import java.util.Iterator;
-import javax.servlet.Servlet;
-import javax.servlet.ServletContext;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletContext;
/**
* A configuration wrapper to read the initialization parameters of a servlet context. This configuration is read only,
diff --git a/src/main/java/org/apache/commons/configuration2/web/ServletFilterConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/ServletFilterConfiguration.java
index 676fbfc389..06d4499f34 100644
--- a/src/main/java/org/apache/commons/configuration2/web/ServletFilterConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/ServletFilterConfiguration.java
@@ -21,7 +21,7 @@
import java.util.Enumeration;
import java.util.Iterator;
-import javax.servlet.FilterConfig;
+import jakarta.servlet.FilterConfig;
/**
* A configuration wrapper around a {@link FilterConfig}. This configuration is read only, adding or removing a property
diff --git a/src/main/java/org/apache/commons/configuration2/web/ServletRequestConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/ServletRequestConfiguration.java
index 3c85eaa1dd..3efcf18620 100644
--- a/src/main/java/org/apache/commons/configuration2/web/ServletRequestConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/ServletRequestConfiguration.java
@@ -23,7 +23,7 @@
import java.util.List;
import java.util.Map;
-import javax.servlet.ServletRequest;
+import jakarta.servlet.ServletRequest;
/**
* A configuration wrapper to read the parameters of a servlet request. This configuration is read only, adding or
diff --git a/src/test/java/org/apache/commons/configuration2/MockInitialContextFactory.java b/src/test/java/org/apache/commons/configuration2/MockInitialContextFactory.java
index c9ce346204..622c6afe48 100644
--- a/src/test/java/org/apache/commons/configuration2/MockInitialContextFactory.java
+++ b/src/test/java/org/apache/commons/configuration2/MockInitialContextFactory.java
@@ -16,20 +16,15 @@
*/
package org.apache.commons.configuration2;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
+import javax.naming.*;
+import javax.naming.spi.InitialContextFactory;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
-import javax.naming.Context;
-import javax.naming.NameClassPair;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.spi.InitialContextFactory;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
/**
* A mock implementation of the {@code InitialContextFactory} interface. This implementation will return a mock context
@@ -79,26 +74,36 @@ public void close() throws NamingException {
*/
public static final String PROP_CYCLES = "useCycles";
- /** Constant for the name of the missing property. */
+ /**
+ * Constant for the name of the missing property.
+ */
private static final String MISSING_PROP = "/missing";
- /** Constant for the name of the prefix. */
+ /**
+ * Constant for the name of the prefix.
+ */
private static final String PREFIX = "test/";
- /** An array with the names of the supported properties. */
+ /**
+ * An array with the names of the supported properties.
+ */
private static final String[] PROP_NAMES = {"key", "key2", "short", "boolean", "byte", "double", "float", "integer", "long", "onlyinjndi"};
- /** An array with the values of the supported properties. */
+ /**
+ * An array with the values of the supported properties.
+ */
private static final String[] PROP_VALUES = {"jndivalue", "jndivalue2", "1", "true", "10", "10.25", "20.25", "10", "1000000", "true"};
- /** An array with properties that are requested, but are not in the context. */
+ /**
+ * An array with properties that are requested, but are not in the context.
+ */
private static final String[] MISSING_NAMES = {"missing/list", "test/imaginarykey", "foo/bar"};
/**
* Adds a new name-and-value pair to list of {@link NameClassPair}s.
*
* @param pairs the list to add to
- * @param name the name
+ * @param name the name
* @param value the value
*/
private void addEnumPair(final List pairs, final String name, final Object value) {
@@ -110,8 +115,8 @@ private void addEnumPair(final List pairs, final String name, fin
* Binds a property value to the mock context.
*
* @param mockCtx the context
- * @param name the name of the property
- * @param value the value of the property
+ * @param name the name of the property
+ * @param value the value of the property
*/
private void bind(final Context mockCtx, final String name, final String value) throws NamingException {
when(mockCtx.lookup(name)).thenReturn(value);
@@ -122,7 +127,7 @@ private void bind(final Context mockCtx, final String name, final String value)
* Configures the mock to expect a call for a non existing property.
*
* @param mockCtx the mock
- * @param name the name of the property
+ * @param name the name of the property
*/
private void bindError(final Context mockCtx, final String name) throws NamingException {
when(mockCtx.lookup(name)).thenThrow(new NameNotFoundException("unknown property"));
@@ -152,7 +157,7 @@ private Context createCtxMock(final String prefix) throws NamingException {
* Creates and initializes a naming enumeration. This is a shortcut of wrapping the result of
* {@link #createNameClassPairs(String[], Object[])} in an instance of {@link ListBasedNamingEnumeration}.
*
- * @param names the names contained in the iteration
+ * @param names the names contained in the iteration
* @param values the corresponding values
* @return the mock for the enumeration
*/
@@ -163,7 +168,7 @@ private NamingEnumeration createNamingEnumeration(final String[]
/**
* Creates and initializes a list of {@link NameClassPair}s that can be used to create a naming enumeration.
*
- * @param names the names contained in the iteration
+ * @param names the names contained in the iteration
* @param values the corresponding values
* @return the mock for the enumeration
*/
@@ -199,7 +204,7 @@ public Context getInitialContext(@SuppressWarnings("rawtypes") final Hashtable e
if (useCycles) {
when(mockTopCtx.lookup("cycle")).thenReturn(mockCycleCtx);
when(mockTopCtx.list("")).thenAnswer(invocation ->
- createNamingEnumeration(new String[] {"test", "cycle"}, new Object[] {mockPrfxCtx, mockCycleCtx}));
+ createNamingEnumeration(new String[]{"test", "cycle"}, new Object[]{mockPrfxCtx, mockCycleCtx}));
when(mockCycleCtx.list("")).thenAnswer(invocation -> {
final List pairs = createNameClassPairs(PROP_NAMES, PROP_VALUES);
addEnumPair(pairs, "cycleCtx", mockCycleCtx);
@@ -207,7 +212,7 @@ public Context getInitialContext(@SuppressWarnings("rawtypes") final Hashtable e
});
when(mockCycleCtx.lookup("cycleCtx")).thenReturn(mockCycleCtx);
} else {
- when(mockTopCtx.list("")).thenAnswer(invocation -> createNamingEnumeration(new String[] {"test"}, new Object[] {mockPrfxCtx}));
+ when(mockTopCtx.list("")).thenAnswer(invocation -> createNamingEnumeration(new String[]{"test"}, new Object[]{mockPrfxCtx}));
}
return mockBaseCtx;
}
diff --git a/src/test/java/org/apache/commons/configuration2/web/TestServletConfiguration.java b/src/test/java/org/apache/commons/configuration2/web/TestServletConfiguration.java
index 0a2c65e8e5..5aeb6979a6 100644
--- a/src/test/java/org/apache/commons/configuration2/web/TestServletConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/web/TestServletConfiguration.java
@@ -23,9 +23,9 @@
import java.util.Properties;
-import javax.servlet.Servlet;
-import javax.servlet.ServletConfig;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.http.HttpServlet;
import org.apache.commons.configuration2.AbstractConfiguration;
import org.apache.commons.configuration2.TestAbstractConfiguration;
diff --git a/src/test/java/org/apache/commons/configuration2/web/TestServletContextConfiguration.java b/src/test/java/org/apache/commons/configuration2/web/TestServletContextConfiguration.java
index 35bf5b15fa..7f39505fc2 100644
--- a/src/test/java/org/apache/commons/configuration2/web/TestServletContextConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/web/TestServletContextConfiguration.java
@@ -23,10 +23,10 @@
import java.util.Properties;
-import javax.servlet.Servlet;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServlet;
import org.apache.commons.configuration2.AbstractConfiguration;
import org.apache.commons.configuration2.TestAbstractConfiguration;
diff --git a/src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java b/src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java
index 7341e3bcdf..d2e21fe531 100644
--- a/src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java
@@ -19,12 +19,16 @@
import static org.junit.jupiter.api.Assertions.assertThrows;
+import java.util.Collections;
import java.util.Enumeration;
+import java.util.List;
import java.util.Properties;
+import java.util.stream.Collectors;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletContext;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletContext;
+import org.apache.commons.collections.iterators.IteratorEnumeration;
import org.apache.commons.configuration2.AbstractConfiguration;
import org.apache.commons.configuration2.TestAbstractConfiguration;
import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
@@ -47,9 +51,12 @@ public String getInitParameter(final String key) {
return parameters.getProperty(key);
}
+
+
@Override
- public Enumeration> getInitParameterNames() {
- return parameters.keys();
+ public Enumeration getInitParameterNames() {
+ final List keys = parameters.keySet().stream().filter(o -> o instanceof String).map(o -> (String) o).collect(Collectors.toList());
+ return Collections.enumeration(keys);
}
@Override
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 c8492ec4e0..58af8aee5c 100644
--- a/src/test/java/org/apache/commons/configuration2/web/TestServletRequestConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/web/TestServletRequestConfiguration.java
@@ -26,7 +26,7 @@
import java.util.HashMap;
import java.util.List;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.configuration2.AbstractConfiguration;
import org.apache.commons.configuration2.BaseConfiguration;