0a918ed
From 34a42ce72fc9a640a59c26dd3ec6eed4b7115e59 Mon Sep 17 00:00:00 2001
2485e20
From: Mikolaj Izdebski <mizdebsk@redhat.com>
2485e20
Date: Fri, 21 Nov 2014 14:51:51 +0100
2485e20
Subject: [PATCH] Port to Java 8
2485e20
2485e20
---
2485e20
 src/main/java/aQute/bnd/signing/Signer.java       | 4 ++--
2485e20
 src/main/java/aQute/lib/collections/MultiMap.java | 2 +-
2485e20
 src/main/java/aQute/lib/osgi/Analyzer.java        | 4 ++--
0a918ed
 src/main/java/aQute/lib/osgi/Clazz.java           | 6 ++++++
2485e20
 src/main/java/aQute/lib/osgi/Jar.java             | 2 +-
0a918ed
 5 files changed, 12 insertions(+), 6 deletions(-)
2485e20
2485e20
diff --git a/src/main/java/aQute/bnd/signing/Signer.java b/src/main/java/aQute/bnd/signing/Signer.java
2485e20
index bed91be..d3af5ef 100644
2485e20
--- a/src/main/java/aQute/bnd/signing/Signer.java
2485e20
+++ b/src/main/java/aQute/bnd/signing/Signer.java
2485e20
@@ -119,7 +119,7 @@ public class Signer extends Processor {
2485e20
             if (algorithms[a] != null) {
2485e20
                 byte[] digest = algorithms[a].digest(manbytes);
2485e20
                 ps.print(digestNames[a] + "-Digest-Manifest: ");
2485e20
-                ps.print(new Base64(digest));
2485e20
+                ps.print(new aQute.lib.base64.Base64(digest));
2485e20
                 ps.print("\r\n");
2485e20
             }
2485e20
         }
2485e20
@@ -142,7 +142,7 @@ public class Signer extends Processor {
2485e20
                     if (algorithms[a] != null) {
2485e20
                         byte[] digest = algorithms[a].digest();
2485e20
                         String header = digestNames[a] + "-Digest: "
2485e20
-                                + new Base64(digest) + "\r\n";
2485e20
+                                + new aQute.lib.base64.Base64(digest) + "\r\n";
2485e20
                         out.write(header.getBytes());
2485e20
                     }
2485e20
                 }
2485e20
diff --git a/src/main/java/aQute/lib/collections/MultiMap.java b/src/main/java/aQute/lib/collections/MultiMap.java
2485e20
index 7672638..e5ccb7c 100644
2485e20
--- a/src/main/java/aQute/lib/collections/MultiMap.java
2485e20
+++ b/src/main/java/aQute/lib/collections/MultiMap.java
2485e20
@@ -24,7 +24,7 @@ public class MultiMap<K,V> extends HashMap<K,Set<V>> {
2485e20
 		return set.addAll(value);
2485e20
 	}
2485e20
 	
2485e20
-	public boolean remove( K key, V value ) {
2485e20
+	public boolean remove( Object key, Object value ) {
2485e20
 		Set<V> set = get(key);
2485e20
 		if ( set == null) {
2485e20
 			return false;
2485e20
diff --git a/src/main/java/aQute/lib/osgi/Analyzer.java b/src/main/java/aQute/lib/osgi/Analyzer.java
2485e20
index 957269a..ee7291f 100644
2485e20
--- a/src/main/java/aQute/lib/osgi/Analyzer.java
2485e20
+++ b/src/main/java/aQute/lib/osgi/Analyzer.java
2485e20
@@ -2278,7 +2278,7 @@ public class Analyzer extends Processor {
2485e20
 		if (hex)
2485e20
 			return Hex.toHexString(digester.digest().digest());
2485e20
 		else
2485e20
-			return Base64.encodeBase64(digester.digest().digest());
2485e20
+			return aQute.lib.base64.Base64.encodeBase64(digester.digest().digest());
2485e20
 	}
2485e20
 
2485e20
 	/**
2485e20
@@ -2296,6 +2296,6 @@ public class Analyzer extends Processor {
2485e20
 			throw new FileNotFoundException("From sha1, not found " + args[1]);
2485e20
 
2485e20
 		IO.copy(r.openInputStream(), digester);
2485e20
-		return Base64.encodeBase64(digester.digest().digest());
2485e20
+		return aQute.lib.base64.Base64.encodeBase64(digester.digest().digest());
2485e20
 	}
2485e20
 }
0a918ed
diff --git a/src/main/java/aQute/lib/osgi/Clazz.java b/src/main/java/aQute/lib/osgi/Clazz.java
0a918ed
index cb5e1f0..e70b079 100644
0a918ed
--- a/src/main/java/aQute/lib/osgi/Clazz.java
0a918ed
+++ b/src/main/java/aQute/lib/osgi/Clazz.java
0a918ed
@@ -311,6 +311,12 @@ public class Clazz {
0a918ed
 			4, // 10 CONSTANT_MethodRef
0a918ed
 			4, // 11 CONSTANT_InterfaceMethodRef
0a918ed
 			4, // 12 CONSTANT_NameAndType
0a918ed
+			-1, // 13 Not defined
0a918ed
+			-1, // 14 Not defined
0a918ed
+			3, // 15 CONSTANT_MethodHandle
0a918ed
+			2, // 16 CONSTANT_MethodType
0a918ed
+			-1, // 17 Not defined
0a918ed
+			4, // 18 CONSTANT_InvokeDynamic
0a918ed
 									};
0a918ed
 
0a918ed
 	boolean				isAbstract;
2485e20
diff --git a/src/main/java/aQute/lib/osgi/Jar.java b/src/main/java/aQute/lib/osgi/Jar.java
2485e20
index c8b2359..8f1f98c 100644
2485e20
--- a/src/main/java/aQute/lib/osgi/Jar.java
2485e20
+++ b/src/main/java/aQute/lib/osgi/Jar.java
2485e20
@@ -624,7 +624,7 @@ public class Jar implements Closeable {
2485e20
 				in.close();
2485e20
 			}
2485e20
 			for (MessageDigest d : digests)
2485e20
-				attributes.putValue(d.getAlgorithm() + "-Digest", Base64.encodeBase64(d.digest()));
2485e20
+				attributes.putValue(d.getAlgorithm() + "-Digest", aQute.lib.base64.Base64.encodeBase64(d.digest()));
2485e20
 		}
2485e20
 	}
2485e20
 
2485e20
-- 
0a918ed
2.1.0
2485e20