You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2018/10/21 15:18:36 UTC

[isis] branch v2 updated: ISIS-1811: blobs should be encoded using base 64 encoding, not base 64 url safe encoding.

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/v2 by this push:
     new 57d42f3  ISIS-1811: blobs should be encoded using base 64 encoding, not base 64 url safe encoding.
57d42f3 is described below

commit 57d42f3eeffe851d7cc62292827ac6bdbc3aaaea
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Oct 21 16:17:54 2018 +0100

    ISIS-1811: blobs should be encoded using base 64 encoding, not base 64 url safe encoding.
    
    This is the distinction between java.util.Base64#getEncoder() vs java.util.Base64#getUrlEncoder()
---
 .../core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java
index 0c2638d..82189dc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java
@@ -96,7 +96,7 @@ public class BlobValueSemanticsProvider extends ValueSemanticsProviderAndFacetAb
     protected String doEncode(final Object object) {
         Blob blob = (Blob)object;
         return blob.getName() + ":" + blob.getMimeType().getBaseType() + ":" + 
-                _Strings.ofBytes(_Bytes.encodeToBase64(Base64.getUrlEncoder(), blob.getBytes()), StandardCharsets.UTF_8);
+                _Strings.ofBytes(_Bytes.encodeToBase64(Base64.getEncoder(), blob.getBytes()), StandardCharsets.UTF_8);
     }
 
     @Override
@@ -106,7 +106,7 @@ public class BlobValueSemanticsProvider extends ValueSemanticsProviderAndFacetAb
         final int colon2Idx  = data.indexOf(":", colonIdx+1);
         final String mimeTypeBase = data.substring(colonIdx+1, colon2Idx);
         final String payload = data.substring(colon2Idx+1);
-        final byte[] bytes = _Bytes.decodeBase64(Base64.getUrlDecoder(), payload.getBytes(StandardCharsets.UTF_8));
+        final byte[] bytes = _Bytes.decodeBase64(Base64.getDecoder(), payload.getBytes(StandardCharsets.UTF_8));
         try {
             return new Blob(name, new MimeType(mimeTypeBase), bytes);
         } catch (MimeTypeParseException e) {