From 83f593a703df4347d5d334e100b934960374effd Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Sat, 9 Jul 2022 21:07:58 -0400 Subject: [PATCH] Remove dependence on commons-io We would like to reduce dependency on Apache commons as much as possible. Although we probably won't be able to build this in AOSP anyway, it is still good to move away when we have better alternatives in the Kotlin runtime. --- libs/lpad-sm-dp-plus-connector/build.gradle | 1 - .../main/java/com/truphone/es9plus/HttpRSPClient.java | 5 +++-- .../src/main/java/com/truphone/util/TextUtil.kt | 9 +++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/libs/lpad-sm-dp-plus-connector/build.gradle b/libs/lpad-sm-dp-plus-connector/build.gradle index 11e5ab1..7e74c5b 100644 --- a/libs/lpad-sm-dp-plus-connector/build.gradle +++ b/libs/lpad-sm-dp-plus-connector/build.gradle @@ -11,7 +11,6 @@ dependencies { implementation 'com.beanit:asn1bean:1.13.0' implementation 'com.fazecast:jSerialComm:1.3.11' implementation 'org.apache.commons:commons-lang3:3.7' - implementation 'commons-io:commons-io:2.6' implementation 'commons-codec:commons-codec:1.11' implementation 'com.google.code.gson:gson:2.8.4' testImplementation 'junit:junit:4.12' diff --git a/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/HttpRSPClient.java b/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/HttpRSPClient.java index 8e0a3af..5c429d2 100644 --- a/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/HttpRSPClient.java +++ b/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/HttpRSPClient.java @@ -1,7 +1,8 @@ package com.truphone.es9plus; import com.truphone.util.LogStub; -import org.apache.commons.io.IOUtils; +import com.truphone.util.TextUtil; + import org.apache.commons.lang3.StringUtils; import java.io.BufferedWriter; @@ -89,7 +90,7 @@ public class HttpRSPClient { os.close(); httpResponse.setStatusCode(con.getResponseCode()); - httpResponse.setContent(IOUtils.toString(con.getInputStream(), StandardCharsets.UTF_8)); + httpResponse.setContent(new String(TextUtil.readInputStream(con.getInputStream()), StandardCharsets.UTF_8)); return httpResponse; } diff --git a/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/TextUtil.kt b/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/TextUtil.kt index 8fb4f19..43dd934 100644 --- a/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/TextUtil.kt +++ b/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/TextUtil.kt @@ -1,5 +1,6 @@ package com.truphone.util +import java.io.InputStream import java.lang.StringBuilder object TextUtil { @@ -77,4 +78,12 @@ object TextUtil { } return builder.toString() } + + /* + * Read an InputStream into a ByteArray + * This is exposed to the Java side as a convenience + * TODO: Remove when we migrate the full code base to Kotlin + */ + @JvmStatic + fun readInputStream(i: InputStream): ByteArray = i.readBytes() } \ No newline at end of file