diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-01-03 15:56:55 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-01-03 17:24:54 +0100 |
commit | 741fad2983111ea1589ab008b60b97a12072556b (patch) | |
tree | 48ddda163c267e00a4d45141c6ccbb1dc28abd5f /clustercontroller-core | |
parent | 11c0391cef31f03a317e043e537cad86fca4393d (diff) |
Remove use of apache commons libraries from cluster-controller modules
Diffstat (limited to 'clustercontroller-core')
4 files changed, 43 insertions, 17 deletions
diff --git a/clustercontroller-core/pom.xml b/clustercontroller-core/pom.xml index 9ac7c93134c..a952016e3bf 100644 --- a/clustercontroller-core/pom.xml +++ b/clustercontroller-core/pom.xml @@ -14,8 +14,9 @@ <name>${project.artifactId}</name> <dependencies> <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java index 4a619fa47f2..d1675f189c0 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java @@ -12,20 +12,26 @@ import com.yahoo.vdslib.state.State; import com.yahoo.vespa.clustercontroller.core.database.DatabaseHandler; import com.yahoo.vespa.clustercontroller.core.database.ZooKeeperDatabaseFactory; import com.yahoo.vespa.clustercontroller.core.hostinfo.HostInfo; -import com.yahoo.vespa.clustercontroller.core.listeners.*; +import com.yahoo.vespa.clustercontroller.core.listeners.NodeAddedOrRemovedListener; +import com.yahoo.vespa.clustercontroller.core.listeners.NodeStateOrHostInfoChangeHandler; +import com.yahoo.vespa.clustercontroller.core.listeners.SystemStateListener; import com.yahoo.vespa.clustercontroller.core.rpc.RPCCommunicator; import com.yahoo.vespa.clustercontroller.core.rpc.RpcServer; import com.yahoo.vespa.clustercontroller.core.rpc.SlobrokClient; -import com.yahoo.vespa.clustercontroller.core.status.*; +import com.yahoo.vespa.clustercontroller.core.status.ClusterStateRequestHandler; +import com.yahoo.vespa.clustercontroller.core.status.LegacyIndexPageRequestHandler; +import com.yahoo.vespa.clustercontroller.core.status.LegacyNodePageRequestHandler; +import com.yahoo.vespa.clustercontroller.core.status.NodeHealthRequestHandler; +import com.yahoo.vespa.clustercontroller.core.status.RunDataExtractor; import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageResponse; import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageServer; import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageServerInterface; import com.yahoo.vespa.clustercontroller.utils.util.MetricReporter; import com.yahoo.vespa.clustercontroller.utils.util.NoMetricReporter; -import org.apache.commons.lang.exception.ExceptionUtils; import java.io.FileNotFoundException; - +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; @@ -542,7 +548,10 @@ public class FleetController implements NodeStateOrHostInfoChangeHandler, NodeAd } catch (Exception e) { responseCode = StatusPageResponse.ResponseCode.INTERNAL_SERVER_ERROR; message = "Internal Server Error"; - hiddenMessage = ExceptionUtils.getStackTrace(e); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw, true); + e.printStackTrace(pw); + hiddenMessage = sw.getBuffer().toString(); log.log(LogLevel.DEBUG, "Unknown exception thrown for request " + httpRequest.getRequest() + ": " + hiddenMessage); } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageResponse.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageResponse.java index 84850eb344c..0b6ce9b645e 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageResponse.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageResponse.java @@ -1,9 +1,12 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.clustercontroller.core.status.statuspage; -import org.apache.commons.lang.StringEscapeUtils; +import com.google.common.html.HtmlEscapers; -import java.io.*; +import java.io.BufferedWriter; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; public class StatusPageResponse { @@ -67,7 +70,7 @@ public class StatusPageResponse { } public void writeHtmlHeader(StringBuilder content, String title) { - String escaped_title = StringEscapeUtils.escapeHtml(title); + String escaped_title = HtmlEscapers.htmlEscaper().escape(title); content.append("<html>\n") .append("<head><title>").append(escaped_title).append("</title></head>") .append("<body>\n") @@ -76,7 +79,7 @@ public class StatusPageResponse { public void writeHtmlFooter(StringBuilder content, String hiddenMessage) { if (hiddenMessage != null && !hiddenMessage.isEmpty()) { - content.append("\n<!-- " + StringEscapeUtils.escapeHtml(hiddenMessage) + " -->\n"); + content.append("\n<!-- " + HtmlEscapers.htmlEscaper().escape(hiddenMessage) + " -->\n"); } content.append("</body>\n") .append("</html>\n"); diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServer.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServer.java index 52cd0a27933..b736bae82c8 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServer.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServer.java @@ -2,19 +2,28 @@ package com.yahoo.vespa.clustercontroller.core.status.statuspage; import com.yahoo.log.LogLevel; -import org.apache.commons.lang.exception.ExceptionUtils; -import java.io.*; -import java.net.ServerSocket; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.io.StringWriter; import java.net.InetSocketAddress; +import java.net.ServerSocket; import java.net.Socket; import java.net.SocketTimeoutException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TimeZone; import java.util.logging.Logger; -import java.util.regex.Pattern; import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Shows status pages with debug information through a very simple HTTP interface. @@ -177,7 +186,11 @@ public class StatusPageServer implements Runnable, StatusPageServerInterface { response.setResponseCode(StatusPageResponse.ResponseCode.INTERNAL_SERVER_ERROR); StringBuilder content = new StringBuilder(); response.writeHtmlHeader(content, "Internal Server Error"); - response.writeHtmlFooter(content, ExceptionUtils.getStackTrace(e)); + try (StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw, true)) { + e.printStackTrace(pw); + response.writeHtmlFooter(content, sw.getBuffer().toString()); + } response.writeContent(content.toString()); } if (response == null) { |