From 2306f77497c74d7edcf4fc122ba41c75f29af399 Mon Sep 17 00:00:00 2001 From: Richard Startin Date: Wed, 2 Sep 2020 13:29:11 +0100 Subject: [PATCH] replace commons-io dependency (269KB) with JDK equivalents --- pom.xml | 5 ----- src/main/java/org/datadog/jmxfetch/App.java | 5 ++--- src/main/java/org/datadog/jmxfetch/Status.java | 17 +++++++++++++++-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 69ccc4b7b..b4c26cb94 100644 --- a/pom.xml +++ b/pom.xml @@ -83,11 +83,6 @@ system ${java.home}/../lib/tools.jar - - commons-io - commons-io - ${commons-io.version} - com.datadoghq java-dogstatsd-client diff --git a/src/main/java/org/datadog/jmxfetch/App.java b/src/main/java/org/datadog/jmxfetch/App.java index ccee87cfb..c573f0270 100644 --- a/src/main/java/org/datadog/jmxfetch/App.java +++ b/src/main/java/org/datadog/jmxfetch/App.java @@ -6,7 +6,6 @@ import com.beust.jcommander.ParameterException; import com.fasterxml.jackson.core.JsonProcessingException; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.io.IOUtils; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; @@ -780,8 +779,8 @@ private boolean getJsonConfigs() { log.debug("No configuration changes..."); return update; } - - InputStream jsonInputStream = IOUtils.toInputStream(response.getResponseBody(), UTF_8); + byte[] utf8 = response.getResponseBody().getBytes(UTF_8); + InputStream jsonInputStream = new ByteArrayInputStream(utf8); JsonParser parser = new JsonParser(jsonInputStream); int timestamp = ((Integer) parser.getJsonTimestamp()).intValue(); if (timestamp > lastJsonConfigTs) { diff --git a/src/main/java/org/datadog/jmxfetch/Status.java b/src/main/java/org/datadog/jmxfetch/Status.java index 792a2f1d2..178393217 100644 --- a/src/main/java/org/datadog/jmxfetch/Status.java +++ b/src/main/java/org/datadog/jmxfetch/Status.java @@ -2,11 +2,13 @@ import com.fasterxml.jackson.jr.ob.JSON; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.io.FileUtils; import org.yaml.snakeyaml.Yaml; +import java.io.BufferedOutputStream; import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -147,7 +149,7 @@ public void flush() { File statusFile = new File(this.statusFileLocation); log.debug( "Writing status to temp yaml file: " + statusFile.getAbsolutePath()); - FileUtils.writeStringToFile(statusFile, yaml); + writeStringToFile(statusFile, yaml); } catch (Exception e) { log.warn("Cannot write status to temp file: " + e.getMessage()); } @@ -164,4 +166,15 @@ public String getStatusFileLocation() { public boolean isEnabled() { return isEnabled; } + + private static void writeStringToFile(File file, String string) throws IOException { + FileOutputStream out = new FileOutputStream(file); + BufferedOutputStream bos = new BufferedOutputStream(out); + try { + bos.write(string.getBytes(Charset.forName("UTF-8"))); + } finally { + bos.close(); + out.close(); + } + } }