svn commit: r425137 - in head/java/jakarta-commons-collections: . files

Max Brazhnikov makc at FreeBSD.org
Wed Nov 2 11:15:41 UTC 2016


Author: makc
Date: Wed Nov  2 11:15:40 2016
New Revision: 425137
URL: https://svnweb.freebsd.org/changeset/ports/425137

Log:
  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

Added:
  head/java/jakarta-commons-collections/files/
  head/java/jakarta-commons-collections/files/patch-jdk8   (contents, props changed)
Modified:
  head/java/jakarta-commons-collections/Makefile

Modified: head/java/jakarta-commons-collections/Makefile
==============================================================================
--- head/java/jakarta-commons-collections/Makefile	Wed Nov  2 11:05:59 2016	(r425136)
+++ head/java/jakarta-commons-collections/Makefile	Wed Nov  2 11:15:40 2016	(r425137)
@@ -8,12 +8,14 @@ MASTER_SITES=	APACHE_COMMONS_SOURCE
 PKGNAMEPREFIX=	jakarta-
 DISTNAME=	${PORTNAME}-${PORTVERSION}-src
 
-MAINTAINER=	ports at FreeBSD.org
+MAINTAINER=	makc at 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

Added: head/java/jakarta-commons-collections/files/patch-jdk8
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/java/jakarta-commons-collections/files/patch-jdk8	Wed Nov  2 11:15:40 2016	(r425137)
@@ -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
+


More information about the svn-ports-head mailing list