From 923502db49356c44d047d5ea14b0820af5dfd0a6 Mon Sep 17 00:00:00 2001 From: Xiaowei Zhu <33129495+zhu-xiaowei@users.noreply.github.com> Date: Thu, 18 May 2023 14:41:06 +0800 Subject: [PATCH] feat: change base64 format with no_wrap (#12) --------- Co-authored-by: xiaoweii --- .../clickstream/client/AutoRecordEventClient.java | 2 ++ .../clickstream/client/util/StringUtil.java | 2 +- .../solution/clickstream/util/StringUtilTest.java | 15 +++++++++++++++ gradle.properties | 2 +- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/clickstream/src/main/java/software/aws/solution/clickstream/client/AutoRecordEventClient.java b/clickstream/src/main/java/software/aws/solution/clickstream/client/AutoRecordEventClient.java index 5cb7070..e35c95b 100644 --- a/clickstream/src/main/java/software/aws/solution/clickstream/client/AutoRecordEventClient.java +++ b/clickstream/src/main/java/software/aws/solution/clickstream/client/AutoRecordEventClient.java @@ -120,6 +120,7 @@ private void checkAppVersionUpdate() { this.clickstreamContext.getAnalyticsClient().createEvent(Event.PresetEvent.APP_UPDATE); event.addAttribute(Event.ReservedAttribute.PREVIOUS_APP_VERSION, previousAppVersion); this.clickstreamContext.getAnalyticsClient().recordEvent(event); + clickstreamContext.getSystem().getPreferences().putString("appVersion", currentVersion); } } else { clickstreamContext.getSystem().getPreferences() @@ -139,6 +140,7 @@ private void checkOSVersionUpdate() { this.clickstreamContext.getAnalyticsClient().createEvent(Event.PresetEvent.OS_UPDATE); event.addAttribute(Event.ReservedAttribute.PREVIOUS_OS_VERSION, previousOSVersion); this.clickstreamContext.getAnalyticsClient().recordEvent(event); + clickstreamContext.getSystem().getPreferences().putString("osVersion", currentOSVersion); } } else { clickstreamContext.getSystem().getPreferences() diff --git a/clickstream/src/main/java/software/aws/solution/clickstream/client/util/StringUtil.java b/clickstream/src/main/java/software/aws/solution/clickstream/client/util/StringUtil.java index 293e8b0..ef7c833 100644 --- a/clickstream/src/main/java/software/aws/solution/clickstream/client/util/StringUtil.java +++ b/clickstream/src/main/java/software/aws/solution/clickstream/client/util/StringUtil.java @@ -57,7 +57,7 @@ public static String compressForGzip(String ungzipStr) { LOG.error("IOException occur when compressForGzip."); } if (encode != null) { - return Base64.encodeToString(encode, Base64.DEFAULT); + return Base64.encodeToString(encode, Base64.NO_WRAP); } else { LOG.error("compressForGzip fail."); return null; diff --git a/clickstream/src/test/java/software/aws/solution/clickstream/util/StringUtilTest.java b/clickstream/src/test/java/software/aws/solution/clickstream/util/StringUtilTest.java index 9f12a7d..b6735b6 100644 --- a/clickstream/src/test/java/software/aws/solution/clickstream/util/StringUtilTest.java +++ b/clickstream/src/test/java/software/aws/solution/clickstream/util/StringUtilTest.java @@ -134,4 +134,19 @@ public void clipStringForAppendEllipses() { assertTrue(StringUtil.clipString("abcdefgh", 5, true).endsWith("...")); assertFalse(StringUtil.clipString("abcdefgh", 10, true).endsWith("...")); } + + /** + * test validate gzip with no wrap. + */ + @Test + public void validateGzipWithNoWrap() { + String str = "abcdeabcde"; + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < 100; i++) { + sb.append(str); + } + String gzippedStr = StringUtil.compressForGzip(sb.toString()); + assert gzippedStr != null; + assertFalse(gzippedStr.contains("\n")); + } } diff --git a/gradle.properties b/gradle.properties index f5a8d25..ba744fc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ org.gradle.jvmargs=-Xmx4g # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects org.gradle.parallel=true -VERSION_NAME=0.4.0 +VERSION_NAME=0.4.1 POM_GROUP=software.aws.solution POM_ARTIFACT_ID=clickstream