You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/02/25 16:41:22 UTC

[isis] branch master updated: ISIS-1841 for compression and base64 encoding resort to internal API

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 6552f91  ISIS-1841 for compression and base64 encoding resort to internal API
6552f91 is described below

commit 6552f914229d1cd73eea4c5071e5e1bc3270001d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Feb 25 17:41:21 2018 +0100

    ISIS-1841 for compression and base64 encoding resort to internal API
---
 .../UrlEncodingServiceWithCompressionAbstract.java | 50 +++-------------------
 ...codingServiceWithCompression_Abstract_Test.java |  2 +-
 2 files changed, 6 insertions(+), 46 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompressionAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompressionAbstract.java
index 892f24d..02a22d1 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompressionAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompressionAbstract.java
@@ -1,12 +1,9 @@
 package org.apache.isis.applib.services.urlencoding;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.zip.GZIPInputStream;
-import java.util.zip.GZIPOutputStream;
+import java.nio.charset.StandardCharsets;
 
-import javax.inject.Inject;
+import org.apache.isis.applib.internal.base._Bytes;
+import org.apache.isis.applib.internal.base._Strings;
 
 /**
  * to use, subclass and annotated with:
@@ -18,49 +15,12 @@ public abstract class UrlEncodingServiceWithCompressionAbstract implements UrlEn
 
     @Override
     public String encode(final String str) {
-        try {
-            final byte[] compressed = compress(str);
-            return base64Encoder.encodeToBase64(compressed);
-        } catch (IOException e) {
-            throw new IllegalArgumentException(e);
-        }
+    	return _Strings.convert(str, _Bytes.asCompressedUrlBase64, StandardCharsets.UTF_8);
     }
 
     @Override
     public String decode(final String str) {
-        final byte[] bytes = base64Encoder.decodeBase64(str);
-        try {
-            return decompress(bytes);
-        } catch (IOException e) {
-            throw new IllegalArgumentException(e);
-        }
+    	return _Strings.convert(str, _Bytes.asDecompressedUrlBase64, StandardCharsets.UTF_8);
     }
 
-    private static byte[] compress(String string) throws IOException {
-        ByteArrayOutputStream os = new ByteArrayOutputStream(string.length());
-        GZIPOutputStream gos = new GZIPOutputStream(os);
-        gos.write(string.getBytes());
-        gos.close();
-        byte[] compressed = os.toByteArray();
-        os.close();
-        return compressed;
-    }
-
-    private static String decompress(byte[] compressed) throws IOException {
-        final int BUFFER_SIZE = 32;
-        ByteArrayInputStream is = new ByteArrayInputStream(compressed);
-        GZIPInputStream gis = new GZIPInputStream(is, BUFFER_SIZE);
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        byte[] data = new byte[BUFFER_SIZE];
-        int bytesRead;
-        while ((bytesRead = gis.read(data)) != -1) {
-            baos.write(data, 0, bytesRead);
-        }
-        gis.close();
-        return baos.toString("UTF-8");
-    }
-
-    @Inject
-    UrlEncodingServiceUsingBaseEncoding base64Encoder;
-
 }
diff --git a/core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression_Abstract_Test.java b/core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression_Abstract_Test.java
index 1667983..3ff0ee6 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression_Abstract_Test.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression_Abstract_Test.java
@@ -15,7 +15,7 @@ public class UrlEncodingServiceWithCompression_Abstract_Test {
     @Before
     public void setUp() throws Exception {
         service = new UrlEncodingServiceWithCompressionAbstract(){};
-        service.base64Encoder = new UrlEncodingServiceUsingBaseEncoding();
+//        service.base64Encoder = new UrlEncodingServiceUsingBaseEncoding();
     }
 
     @Test

-- 
To stop receiving notification emails like this one, please contact
ahuber@apache.org.