From 37e8b0f9ca6e7561c74aeb81dce0e49b1fc22289 Mon Sep 17 00:00:00 2001 From: Jason Cooke Date: Thu, 8 Mar 2012 10:19:17 -0800 Subject: [PATCH] Fix #225 --- .../table/implementation/DefaultEdmValueConterter.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/table/implementation/DefaultEdmValueConterter.java b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/table/implementation/DefaultEdmValueConterter.java index f7df91f533f51..41b38735afa51 100644 --- a/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/table/implementation/DefaultEdmValueConterter.java +++ b/microsoft-azure-api/src/main/java/com/microsoft/windowsazure/services/table/implementation/DefaultEdmValueConterter.java @@ -22,6 +22,7 @@ import com.microsoft.windowsazure.services.blob.implementation.ISO8601DateConverter; import com.microsoft.windowsazure.services.table.EdmValueConverter; import com.microsoft.windowsazure.services.table.models.EdmType; +import com.sun.jersey.core.util.Base64; public class DefaultEdmValueConterter implements EdmValueConverter { @@ -41,6 +42,9 @@ public String serialize(String edmType, Object value) { if (value instanceof Date) { serializedValue = iso8601DateConverter.shortFormat((Date) value); } + else if (value instanceof byte[]) { + serializedValue = new String(Base64.encode((byte[]) value)); + } else { serializedValue = value.toString(); } @@ -73,6 +77,9 @@ else if (EdmType.INT32.equals(edmType)) { else if (EdmType.INT64.equals(edmType)) { return Long.parseLong(value); } + else if (EdmType.BINARY.equals(edmType)) { + return Base64.decode(value); + } return value; }