This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-collections.git
The following commit(s) were added to refs/heads/master by this push: new bab1f6c2f [COLLECTIONS-874] MapUtils.getLongValue(Map, K, Function) returns a byte instead of a long bab1f6c2f is described below commit bab1f6c2fd31363cc63a068cb59534255526eb61 Author: Gary D. Gregory <garydgreg...@gmail.com> AuthorDate: Tue May 20 07:30:51 2025 -0400 [COLLECTIONS-874] MapUtils.getLongValue(Map, K, Function) returns a byte instead of a long --- src/changes/changes.xml | 1 + src/main/java/org/apache/commons/collections4/MapUtils.java | 2 +- src/test/java/org/apache/commons/collections4/MapUtilsTest.java | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index b73ea2052..5166d1707 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -29,6 +29,7 @@ <action type="fix" dev="ggregory" due-to="Eric Hubert, Gary Gregory">Remove deprecation annotation of org.apache.commons.collections4.Predicate; this will be deprecated in 5.0 in favor of java.util.function.Predicate.</action> <action type="fix" dev="ggregory" due-to="Eric Hubert, Gary Gregory">Remove deprecation annotation of org.apache.commons.collections4.Transformer; this will be deprecated in 5.0 in favor of java.util.function.Function.</action> <action type="fix" dev="ggregory" due-to="Eric Hubert, Gary Gregory">Remove deprecation annotation of org.apache.commons.collections4.Closure; this will be deprecated in 5.0 in favor of java.util.function.Consumer.</action> + <action type="fix" dev="ggregory" due-to="Sebastian Götz, Gary Gregory" issue="COLLECTIONS-874">MapUtils.getLongValue(Map, K, Function) returns a byte instead of a long.</action> <!-- ADD --> <!-- UPDATE --> <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 81 to 83 #612.</action> diff --git a/src/main/java/org/apache/commons/collections4/MapUtils.java b/src/main/java/org/apache/commons/collections4/MapUtils.java index 3f99a47ed..d858db46b 100644 --- a/src/main/java/org/apache/commons/collections4/MapUtils.java +++ b/src/main/java/org/apache/commons/collections4/MapUtils.java @@ -838,7 +838,7 @@ public class MapUtils { */ public static <K> long getLongValue(final Map<? super K, ?> map, final K key, final Function<K, Long> defaultFunction) { - return applyDefaultFunction(map, key, MapUtils::getLong, defaultFunction, 0L).byteValue(); + return applyDefaultFunction(map, key, MapUtils::getLong, defaultFunction, 0L).longValue(); } /** diff --git a/src/test/java/org/apache/commons/collections4/MapUtilsTest.java b/src/test/java/org/apache/commons/collections4/MapUtilsTest.java index 16810fa33..5742d3527 100644 --- a/src/test/java/org/apache/commons/collections4/MapUtilsTest.java +++ b/src/test/java/org/apache/commons/collections4/MapUtilsTest.java @@ -499,6 +499,8 @@ public class MapUtilsTest { assertEquals(2.0, MapUtils.getLongValue(in, "key"), 0); assertEquals(1, MapUtils.getLongValue(in, "noKey", 1L), 0); assertEquals(1, MapUtils.getLongValue(in, "noKey", key -> 1L), 0); + assertEquals(Long.MIN_VALUE, MapUtils.getLongValue(in, "noKey", key -> Long.MIN_VALUE), 0); + assertEquals(Long.MAX_VALUE, MapUtils.getLongValue(in, "noKey", key -> Long.MAX_VALUE), 0); assertEquals(0, MapUtils.getLongValue(in, "noKey"), 0); assertEquals(2.0, MapUtils.getLong(in, "key", 0L), 0); assertEquals(1, MapUtils.getLong(in, "noKey", 1L), 0);