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.