[8149] | 1 | From f44a63833a45ee8f67589334f56549a5d7b72fa4 Mon Sep 17 00:00:00 2001 |
---|
| 2 | From: =?UTF-8?q?Florian=20Sch=C3=A4fer?= <florian@schaeferban.de> |
---|
| 3 | Date: Sun, 22 Mar 2015 17:39:38 +0100 |
---|
| 4 | Subject: [PATCH] Use Base64-decoder from JAXB instead of Apache/Sun |
---|
| 5 | |
---|
| 6 | This removes the dependeny on Apache Commons Codec, which was solely used for Base64 decoding. |
---|
| 7 | Uses of both org.apache.commons.codec.binary.Base64 and sun.misc.BASE64Decoder are replaced by javax.xml.bind.DatatypeConverter which is part of Java since 1.6. |
---|
| 8 | --- |
---|
| 9 | src/com/kitfox/svg/SVGUniverse.java | 7 ++++--- |
---|
| 10 | src/com/kitfox/svg/app/data/Handler.java | 7 ++++--- |
---|
| 11 | src/oauth/signpost/signature/OAuthMessageSigner.java | 13 +++---------- |
---|
| 12 | src/org/openstreetmap/josm/tools/ImageProvider.java | 4 ++-- |
---|
| 13 | 4 files changed, 13 insertions(+), 18 deletions(-) |
---|
| 14 | |
---|
| 15 | diff --git a/src/com/kitfox/svg/SVGUniverse.java b/src/com/kitfox/svg/SVGUniverse.java |
---|
| 16 | index 9c244dd..1fe4a3d 100644 |
---|
| 17 | --- a/src/com/kitfox/svg/SVGUniverse.java |
---|
| 18 | +++ b/src/com/kitfox/svg/SVGUniverse.java |
---|
| 19 | @@ -61,6 +61,7 @@ |
---|
| 20 | import java.util.logging.Logger; |
---|
| 21 | import java.util.zip.GZIPInputStream; |
---|
| 22 | import javax.imageio.ImageIO; |
---|
| 23 | +import javax.xml.bind.DatatypeConverter; |
---|
| 24 | import org.xml.sax.EntityResolver; |
---|
| 25 | import org.xml.sax.InputSource; |
---|
| 26 | import org.xml.sax.SAXException; |
---|
| 27 | @@ -190,10 +191,9 @@ URL registerImage(URI imageURI) |
---|
| 28 | |
---|
| 29 | if (content.startsWith("base64")) |
---|
| 30 | { |
---|
| 31 | - content = content.substring(6); |
---|
| 32 | try |
---|
| 33 | { |
---|
| 34 | - byte[] buf = new sun.misc.BASE64Decoder().decodeBuffer(content); |
---|
| 35 | + byte[] buf = DatatypeConverter.parseBase64Binary(content.substring(6)); |
---|
| 36 | ByteArrayInputStream bais = new ByteArrayInputStream(buf); |
---|
| 37 | BufferedImage img = ImageIO.read(bais); |
---|
| 38 | |
---|
| 39 | @@ -213,7 +213,8 @@ URL registerImage(URI imageURI) |
---|
| 40 | loadedImages.put(url, ref); |
---|
| 41 | |
---|
| 42 | return url; |
---|
| 43 | - } catch (IOException ex) |
---|
| 44 | + } |
---|
| 45 | + catch (IOException | IllegalArgumentException ex) |
---|
| 46 | { |
---|
| 47 | Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, |
---|
| 48 | "Could not decode inline image", ex); |
---|
| 49 | diff --git a/src/com/kitfox/svg/app/data/Handler.java b/src/com/kitfox/svg/app/data/Handler.java |
---|
| 50 | index 806dcd9..e35c260 100644 |
---|
| 51 | --- a/src/com/kitfox/svg/app/data/Handler.java |
---|
| 52 | +++ b/src/com/kitfox/svg/app/data/Handler.java |
---|
| 53 | @@ -44,6 +44,8 @@ |
---|
| 54 | import java.util.logging.Level; |
---|
| 55 | import java.util.logging.Logger; |
---|
| 56 | |
---|
| 57 | +import javax.xml.bind.DatatypeConverter; |
---|
| 58 | + |
---|
| 59 | /** |
---|
| 60 | * |
---|
| 61 | * @author kitfox |
---|
| 62 | @@ -66,12 +68,11 @@ public Connection(URL url) |
---|
| 63 | |
---|
| 64 | if (content.startsWith("base64,")) |
---|
| 65 | { |
---|
| 66 | - content = content.substring(7); |
---|
| 67 | try |
---|
| 68 | { |
---|
| 69 | - buf = new sun.misc.BASE64Decoder().decodeBuffer(content); |
---|
| 70 | + buf = DatatypeConverter.parseBase64Binary(content.substring(7)); |
---|
| 71 | } |
---|
| 72 | - catch (IOException e) |
---|
| 73 | + catch (IllegalArgumentException e) |
---|
| 74 | { |
---|
| 75 | Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e); |
---|
| 76 | } |
---|
| 77 | diff --git a/src/oauth/signpost/signature/OAuthMessageSigner.java b/src/oauth/signpost/signature/OAuthMessageSigner.java |
---|
| 78 | index 8d878ae..e24092d 100644 |
---|
| 79 | --- a/src/oauth/signpost/signature/OAuthMessageSigner.java |
---|
| 80 | +++ b/src/oauth/signpost/signature/OAuthMessageSigner.java |
---|
| 81 | @@ -16,26 +16,20 @@ |
---|
| 82 | |
---|
| 83 | import java.io.IOException; |
---|
| 84 | import java.io.Serializable; |
---|
| 85 | +import javax.xml.bind.DatatypeConverter; |
---|
| 86 | |
---|
| 87 | import oauth.signpost.exception.OAuthMessageSignerException; |
---|
| 88 | import oauth.signpost.http.HttpRequest; |
---|
| 89 | import oauth.signpost.http.HttpParameters; |
---|
| 90 | |
---|
| 91 | -import org.apache.commons.codec.binary.Base64; |
---|
| 92 | - |
---|
| 93 | public abstract class OAuthMessageSigner implements Serializable { |
---|
| 94 | |
---|
| 95 | private static final long serialVersionUID = 4445779788786131202L; |
---|
| 96 | |
---|
| 97 | - private transient Base64 base64; |
---|
| 98 | - |
---|
| 99 | private String consumerSecret; |
---|
| 100 | |
---|
| 101 | private String tokenSecret; |
---|
| 102 | |
---|
| 103 | - public OAuthMessageSigner() { |
---|
| 104 | - this.base64 = new Base64(); |
---|
| 105 | - } |
---|
| 106 | |
---|
| 107 | public abstract String sign(HttpRequest request, HttpParameters requestParameters) |
---|
| 108 | throws OAuthMessageSignerException; |
---|
| 109 | @@ -59,16 +53,15 @@ public void setTokenSecret(String tokenSecret) { |
---|
| 110 | } |
---|
| 111 | |
---|
| 112 | protected byte[] decodeBase64(String s) { |
---|
| 113 | - return base64.decode(s.getBytes()); |
---|
| 114 | + return DatatypeConverter.parseBase64Binary(s); |
---|
| 115 | } |
---|
| 116 | |
---|
| 117 | protected String base64Encode(byte[] b) { |
---|
| 118 | - return new String(base64.encode(b)); |
---|
| 119 | + return DatatypeConverter.printBase64Binary(b); |
---|
| 120 | } |
---|
| 121 | |
---|
| 122 | private void readObject(java.io.ObjectInputStream stream) |
---|
| 123 | throws IOException, ClassNotFoundException { |
---|
| 124 | stream.defaultReadObject(); |
---|
| 125 | - this.base64 = new Base64(); |
---|
| 126 | } |
---|
| 127 | } |
---|