Repository: olingo-odata4 Updated Branches: refs/heads/clientjune [created] 5959dfb02
[OLINGO-318]client should base64encode edm.binary data, not as URLSafeString Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/5959dfb0 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/5959dfb0 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/5959dfb0 Branch: refs/heads/clientjune Commit: 5959dfb02a80d067c2141e26ea26028e74cab1f0 Parents: 80c2f83 Author: challenh <[email protected]> Authored: Fri Jun 6 23:40:06 2014 +0800 Committer: challenh <[email protected]> Committed: Fri Jun 6 23:40:06 2014 +0800 ---------------------------------------------------------------------- .../olingo/commons/core/edm/primitivetype/EdmBinary.java | 7 ++++++- .../olingo/commons/core/edm/primitivetype/EdmBinaryTest.java | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5959dfb0/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinary.java ---------------------------------------------------------------------- diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinary.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinary.java index ee85d17..f7cf9af 100644 --- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinary.java +++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinary.java @@ -19,6 +19,7 @@ package org.apache.olingo.commons.core.edm.primitivetype; import org.apache.commons.codec.binary.Base64; +import org.apache.commons.codec.binary.StringUtils; import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException; /** @@ -124,6 +125,10 @@ public class EdmBinary extends SingletonPrimitiveType { "EdmPrimitiveTypeException.VALUE_FACETS_NOT_MATCHED.addContent(value, facets)"); } - return Base64.encodeBase64URLSafeString(byteArrayValue); + return base64EncodeToString(byteArrayValue); + } + + private static String base64EncodeToString(byte[] bytes){ + return StringUtils.newStringUtf8(Base64.encodeBase64(bytes, false)); } } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5959dfb0/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinaryTest.java ---------------------------------------------------------------------- diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinaryTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinaryTest.java index 95c93f8..f52c32f 100644 --- a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinaryTest.java +++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmBinaryTest.java @@ -66,12 +66,12 @@ public class EdmBinaryTest extends PrimitiveTypeBaseTest { public void valueToString() throws Exception { final byte[] binary = new byte[]{(byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF}; - assertEquals("qrvM3e7_", instance.valueToString(binary, null, null, null, null, null)); + assertEquals("qrvM3e7/", instance.valueToString(binary, null, null, null, null, null)); - assertEquals("qrvM3e7_", instance.valueToString(binary, null, 6, null, null, null)); - assertEquals("qrvM3e7_", instance.valueToString(binary, null, Integer.MAX_VALUE, null, null, null)); + assertEquals("qrvM3e7/", instance.valueToString(binary, null, 6, null, null, null)); + assertEquals("qrvM3e7/", instance.valueToString(binary, null, Integer.MAX_VALUE, null, null, null)); - assertEquals("qg", instance.valueToString(new Byte[]{new Byte((byte) 170)}, null, null, null, null, null)); + assertEquals("qg==", instance.valueToString(new Byte[]{new Byte((byte) 170)}, null, null, null, null, null)); expectFacetsErrorInValueToString(instance, binary, null, 3, null, null, null);
