summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorMax Brazhnikov <makc@FreeBSD.org>2016-11-02 11:15:40 +0000
committerMax Brazhnikov <makc@FreeBSD.org>2016-11-02 11:15:40 +0000
commit9acbc598170cbf87e2416f8122cacb4d86dd371c (patch)
tree740255f75561446d44568217c878d737b01458ff /java
parent- Update lighttpd to 1.4.43 (diff)
java/jakarta-commons-collections:
- Add patch from Fedora to fix build with OpenJDK8 https://issues.apache.org/jira/browse/COLLECTIONS-587 Submitted by: soralx at cydem.org via e-mail
Notes
Notes: svn path=/head/; revision=425137
Diffstat (limited to 'java')
-rw-r--r--java/jakarta-commons-collections/Makefile6
-rw-r--r--java/jakarta-commons-collections/files/patch-jdk8144
2 files changed, 148 insertions, 2 deletions
diff --git a/java/jakarta-commons-collections/Makefile b/java/jakarta-commons-collections/Makefile
index ba29cceee54a..8d18f1a2c234 100644
--- a/java/jakarta-commons-collections/Makefile
+++ b/java/jakarta-commons-collections/Makefile
@@ -8,12 +8,14 @@ MASTER_SITES= APACHE_COMMONS_SOURCE
PKGNAMEPREFIX= jakarta-
DISTNAME= ${PORTNAME}-${PORTVERSION}-src
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= makc@FreeBSD.org
COMMENT= Classes that extend/augment the Java Collections Framework
USE_JAVA= yes
-JAVA_VERSION= 1.6 1.7
+JAVA_VERSION= 1.6+
USE_ANT= yes
+USES= dos2unix
+DOS2UNIX_GLOB= Multi*.java Test*.java
ALL_TARGET= jar
PLIST_FILES= %%JAVAJARDIR%%/${PORTNAME}.jar
diff --git a/java/jakarta-commons-collections/files/patch-jdk8 b/java/jakarta-commons-collections/files/patch-jdk8
new file mode 100644
index 000000000000..3c4cd156b6b3
--- /dev/null
+++ b/java/jakarta-commons-collections/files/patch-jdk8
@@ -0,0 +1,144 @@
+--- src/java/org/apache/commons/collections/MultiHashMap.java
++++ 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 remove(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;
+ }
+
+ /**
+
+--- src/java/org/apache/commons/collections/MultiMap.java
++++ 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 remove(Object key, Object item);
+
+ //-----------------------------------------------------------------------
+ /**
+@@ -144,7 +144,7 @@ public interface MultiMap extends Map {
+ * @throws ClassCastException if the key is of an invalid type
+ * @throws NullPointerException if the key is null and null keys are invalid
+ */
+- Object remove(Object key);
++ //boolean remove(Object key);
+
+ /**
+ * Gets a collection containing all the values in the map.
+
+--- src/java/org/apache/commons/collections/map/MultiKeyMap.java
++++ 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 boolean remove(Object key1, Object key2) {
+ int hashCode = hash(key1, key2);
+ int index = map.hashIndex(hashCode, map.data.length);
+ AbstractHashedMap.HashEntry entry = map.data[index];
+@@ -206,12 +206,14 @@ public class MultiKeyMap
+ if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2)) {
+ Object oldValue = entry.getValue();
+ map.removeMapping(entry, index, previous);
+- return oldValue;
++ //return oldValue;
++ return true;
+ }
+ previous = entry;
+ entry = entry.next;
+ }
+- return null;
++ //return null;
++ return false;
+ }
+
+ /**
+
+--- src/java/org/apache/commons/collections/map/MultiValueMap.java
++++ 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 remove(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;
+ }
+
+ /**
+
+--- src/test/org/apache/commons/collections/TestMultiHashMap.java
++++ src/test/org/apache/commons/collections/TestMultiHashMap.java
+@@ -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.remove("C", "CA"));
++ assertEquals(false, map.remove("A", "AD"));
++ assertEquals(true, map.remove("A", "AC"));
++ assertEquals(true, map.remove("A", "AB"));
++ assertEquals(true, map.remove("A", "AA"));
+ assertEquals(new MultiHashMap(), map);
+ }
+
+
+--- src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
++++ src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
+@@ -315,10 +315,10 @@ 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(true, multimap.remove(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(false, multimap.remove(key.getKey(0), key.getKey(1)));
+ assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
+ break;
+ case 3:
+--
+2.5.0
+