gnu: java-commons-collections: Fix java8 errors.

* gnu/packages/java.scm (java-commons-collections)[source]: Add patch.
* gnu/packages/patches/java-commons-collections-fix-java8.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Gábor Boskovits 2018-06-26 08:14:45 +02:00
parent 9d98101916
commit 7c7323e432
No known key found for this signature in database
GPG Key ID: 2506A96CCF630B21
3 changed files with 303 additions and 1 deletions

View File

@ -805,6 +805,7 @@ dist_patch_DATA = \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \ %D%/packages/patches/jacal-fix-texinfo.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \

View File

@ -4032,7 +4032,9 @@ are many features, including:
"commons-collections-" version "-src.tar.gz")) "commons-collections-" version "-src.tar.gz"))
(sha256 (sha256
(base32 (base32
"055r51a5lfc3z7rkxnxmnn1npvkvda7636hjpm4qk7cnfzz98387")))) "055r51a5lfc3z7rkxnxmnn1npvkvda7636hjpm4qk7cnfzz98387"))
(patches
(search-patches "java-commons-collections-fix-java8.patch"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments java-commons-collections4) (substitute-keyword-arguments (package-arguments java-commons-collections4)
((#:phases phases) ((#:phases phases)

View File

@ -0,0 +1,299 @@
From e760d181abd20ecb98654af63faec7b2a4d61189 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
Date: Mon, 25 Jun 2018 15:02:25 +0200
Subject: [PATCH] Rename removes in maps to fix java8.
* src/java/org/apache/commons/collections/MultiHashMap.java:
Rename "V MultiHashMap#remove(K, V)"
to "boolean MulitHashMap#removeMapping(K, V)".
* src/java/org/apache/commons/collections/MultiMap.java:
Rename "V MultiMap#remove(K, V)"
to "boolean MultiMap#removeMapping(K, V)".
* src/java/org/apache/commons/collections/map/MultiKeyMap.java:
Rename "V MultiKeyMap#remove(...)"
to "V MultiKeyMap#removeMultiKey(...)".
* src/java/org/apache/commons/collections/map/MultiValueMap.java:
Rename "V MultiValueMap#remove(K, V)"
to "boolean MultiValueMap#removeMapping(K, V)".
* src/test/org/apache/commons/collections/TestMultiHashMap.java:
Adjust accordingly.
* src/test/org/apache/commons/collections/map/TestMultiKeyMap.java:
Adjust accordingly.
* src/test/org/apache/commons/collections/map/TestMultiValueMap.java:
Adjust accordingly.
---
.../commons/collections/MultiHashMap.java | 8 ++++----
.../apache/commons/collections/MultiMap.java | 2 +-
.../commons/collections/map/MultiKeyMap.java | 8 ++++----
.../commons/collections/map/MultiValueMap.java | 8 ++++----
.../commons/collections/TestMultiHashMap.java | 16 ++++++++--------
.../collections/map/TestMultiKeyMap.java | 16 ++++++++--------
.../collections/map/TestMultiValueMap.java | 18 +++++++++---------
7 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/src/java/org/apache/commons/collections/MultiHashMap.java b/src/java/org/apache/commons/collections/MultiHashMap.java
index 7fec9af..482ecbd 100644
--- a/src/java/org/apache/commons/collections/MultiHashMap.java
+++ b/src/java/org/apache/commons/collections/MultiHashMap.java
@@ -331,21 +331,21 @@ public class MultiHashMap extends HashMap implements MultiMap {
* @param item the value to remove
* @return the value removed (which was passed in), null if nothing removed
*/
- public Object remove(Object key, Object item) {
+ public boolean removeMapping(Object key, Object item) {
Collection valuesForKey = getCollection(key);
if (valuesForKey == null) {
- return null;
+ return false;
}
boolean removed = valuesForKey.remove(item);
if (removed == false) {
- return null;
+ return false;
}
// remove the list if it is now empty
// (saves space, and allows equals to work)
if (valuesForKey.isEmpty()){
remove(key);
}
- return item;
+ return true;
}
/**
diff --git a/src/java/org/apache/commons/collections/MultiMap.java b/src/java/org/apache/commons/collections/MultiMap.java
index be9455b..fe54234 100644
--- a/src/java/org/apache/commons/collections/MultiMap.java
+++ b/src/java/org/apache/commons/collections/MultiMap.java
@@ -66,7 +66,7 @@ public interface MultiMap extends Map {
* @throws ClassCastException if the key or value is of an invalid type
* @throws NullPointerException if the key or value is null and null is invalid
*/
- public Object remove(Object key, Object item);
+ public boolean removeMapping(Object key, Object item);
//-----------------------------------------------------------------------
/**
diff --git a/src/java/org/apache/commons/collections/map/MultiKeyMap.java b/src/java/org/apache/commons/collections/map/MultiKeyMap.java
index 9e3e02d..0b99b65 100644
--- a/src/java/org/apache/commons/collections/map/MultiKeyMap.java
+++ b/src/java/org/apache/commons/collections/map/MultiKeyMap.java
@@ -197,7 +197,7 @@ public class MultiKeyMap
* @param key2 the second key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2) {
+ public Object removeMultiKey(Object key1, Object key2) {
int hashCode = hash(key1, key2);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
@@ -327,7 +327,7 @@ public class MultiKeyMap
* @param key3 the third key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2, Object key3) {
+ public Object removeMultiKey(Object key1, Object key2, Object key3) {
int hashCode = hash(key1, key2, key3);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
@@ -467,7 +467,7 @@ public class MultiKeyMap
* @param key4 the fourth key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2, Object key3, Object key4) {
+ public Object removeMultiKey(Object key1, Object key2, Object key3, Object key4) {
int hashCode = hash(key1, key2, key3, key4);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
@@ -617,7 +617,7 @@ public class MultiKeyMap
* @param key5 the fifth key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2, Object key3, Object key4, Object key5) {
+ public Object removeMultiKey(Object key1, Object key2, Object key3, Object key4, Object key5) {
int hashCode = hash(key1, key2, key3, key4, key5);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
diff --git a/src/java/org/apache/commons/collections/map/MultiValueMap.java b/src/java/org/apache/commons/collections/map/MultiValueMap.java
index f44999b..86eaeb0 100644
--- a/src/java/org/apache/commons/collections/map/MultiValueMap.java
+++ b/src/java/org/apache/commons/collections/map/MultiValueMap.java
@@ -153,19 +153,19 @@ public class MultiValueMap extends AbstractMapDecorator implements MultiMap {
* @param value the value to remove
* @return the value removed (which was passed in), null if nothing removed
*/
- public Object remove(Object key, Object value) {
+ public boolean removeMapping(Object key, Object value) {
Collection valuesForKey = getCollection(key);
if (valuesForKey == null) {
- return null;
+ return false;
}
boolean removed = valuesForKey.remove(value);
if (removed == false) {
- return null;
+ return false;
}
if (valuesForKey.isEmpty()) {
remove(key);
}
- return value;
+ return true;
}
/**
diff --git a/src/test/org/apache/commons/collections/TestMultiHashMap.java b/src/test/org/apache/commons/collections/TestMultiHashMap.java
index eca833a..a1de943 100644
--- a/src/test/org/apache/commons/collections/TestMultiHashMap.java
+++ b/src/test/org/apache/commons/collections/TestMultiHashMap.java
@@ -217,7 +217,7 @@ public class TestMultiHashMap extends AbstractTestMap {
MultiHashMap one = new MultiHashMap();
Integer value = new Integer(1);
one.put("One", value);
- one.remove("One", value);
+ one.removeMapping("One", value);
MultiHashMap two = new MultiHashMap();
assertEquals(two, one);
@@ -269,7 +269,7 @@ public class TestMultiHashMap extends AbstractTestMap {
assertEquals(4, map.totalSize());
map.remove("A");
assertEquals(3, map.totalSize());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.totalSize());
}
@@ -292,7 +292,7 @@ public class TestMultiHashMap extends AbstractTestMap {
map.remove("A");
assertEquals(0, map.size("A"));
assertEquals(3, map.size("B"));
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(0, map.size("A"));
assertEquals(2, map.size("B"));
}
@@ -464,11 +464,11 @@ public class TestMultiHashMap extends AbstractTestMap {
map.put("A", "AA");
map.put("A", "AB");
map.put("A", "AC");
- assertEquals(null, map.remove("C", "CA"));
- assertEquals(null, map.remove("A", "AD"));
- assertEquals("AC", map.remove("A", "AC"));
- assertEquals("AB", map.remove("A", "AB"));
- assertEquals("AA", map.remove("A", "AA"));
+ assertEquals(false, map.removeMapping("C", "CA"));
+ assertEquals(false, map.removeMapping("A", "AD"));
+ assertEquals(true, map.removeMapping("A", "AC"));
+ assertEquals(true, map.removeMapping("A", "AB"));
+ assertEquals(true, map.removeMapping("A", "AA"));
assertEquals(new MultiHashMap(), map);
}
diff --git a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
index b1ee3d0..b18f480 100644
--- a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
+++ b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
@@ -315,34 +315,34 @@ public class TestMultiKeyMap extends AbstractTestIterableMap {
switch (key.size()) {
case 2:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
break;
case 3:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
break;
case 4:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
break;
case 5:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
break;
default:
diff --git a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
index b9a5ac8..9ecc269 100644
--- a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
+++ b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
@@ -161,7 +161,7 @@ public class TestMultiValueMap extends TestCase {
MultiValueMap one = new MultiValueMap();
Integer value = new Integer(1);
one.put("One", value);
- one.remove("One", value);
+ one.removeMapping("One", value);
MultiValueMap two = new MultiValueMap();
assertEquals(two, one);
@@ -187,7 +187,7 @@ public class TestMultiValueMap extends TestCase {
assertEquals(4, map.totalSize());
map.remove("A");
assertEquals(3, map.totalSize());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.totalSize());
}
@@ -204,7 +204,7 @@ public class TestMultiValueMap extends TestCase {
assertEquals(2, map.size());
map.remove("A");
assertEquals(2, map.size());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.size());
}
@@ -227,7 +227,7 @@ public class TestMultiValueMap extends TestCase {
map.remove("A");
assertEquals(0, map.size("A"));
assertEquals(3, map.size("B"));
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(0, map.size("A"));
assertEquals(2, map.size("B"));
}
@@ -338,11 +338,11 @@ public class TestMultiValueMap extends TestCase {
map.put("A", "AA");
map.put("A", "AB");
map.put("A", "AC");
- assertEquals(null, map.remove("C", "CA"));
- assertEquals(null, map.remove("A", "AD"));
- assertEquals("AC", map.remove("A", "AC"));
- assertEquals("AB", map.remove("A", "AB"));
- assertEquals("AA", map.remove("A", "AA"));
+ assertEquals(false, map.removeMapping("C", "CA"));
+ assertEquals(false, map.removeMapping("A", "AD"));
+ assertEquals(true, map.removeMapping("A", "AC"));
+ assertEquals(true, map.removeMapping("A", "AB"));
+ assertEquals(true, map.removeMapping("A", "AA"));
assertEquals(new MultiValueMap(), map);
}
--
2.18.0