From 4aaaf8bae63970be07403e808020c39a7f056e5d Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Tue, 14 Aug 2018 18:17:34 +0200 Subject: [PATCH] switched to commons-codec for easier and better md5 checksum generation --- .../commons/commons-boot-app-cli/pom.xml | 5 ++++ .../boot/app/cli/AbstractSpringBootApp.java | 30 ++++++++++--------- headless-services/commons/pom.xml | 1 + 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/headless-services/commons/commons-boot-app-cli/pom.xml b/headless-services/commons/commons-boot-app-cli/pom.xml index d4964e87a..fb6fafe01 100644 --- a/headless-services/commons/commons-boot-app-cli/pom.xml +++ b/headless-services/commons/commons-boot-app-cli/pom.xml @@ -23,6 +23,11 @@ commons-io ${commons-io-version} + + commons-codec + commons-codec + ${commons-codec-version} + com.sun diff --git a/headless-services/commons/commons-boot-app-cli/src/main/java/org/springframework/ide/vscode/commons/boot/app/cli/AbstractSpringBootApp.java b/headless-services/commons/commons-boot-app-cli/src/main/java/org/springframework/ide/vscode/commons/boot/app/cli/AbstractSpringBootApp.java index c80cd19ec..7e83606c5 100644 --- a/headless-services/commons/commons-boot-app-cli/src/main/java/org/springframework/ide/vscode/commons/boot/app/cli/AbstractSpringBootApp.java +++ b/headless-services/commons/commons-boot-app-cli/src/main/java/org/springframework/ide/vscode/commons/boot/app/cli/AbstractSpringBootApp.java @@ -31,6 +31,7 @@ import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; +import org.apache.commons.codec.digest.DigestUtils; import org.json.JSONArray; import org.json.JSONObject; import org.slf4j.Logger; @@ -207,28 +208,29 @@ public abstract class AbstractSpringBootApp implements SpringBootApp { String domain = getDomainForActuator(); Object json = getBeansFromActuator(domain); - MessageDigest md = MessageDigest.getInstance("MD5"); - String md5 = new String(md.digest(json.toString().getBytes("UTF-8"))); + if (json != null) { + String md5 = DigestUtils.md5Hex(json.toString()); - synchronized(this) { - if (cachedBeansModel == null || !md5.equals(cachedBeansModelMD5)) { + synchronized(this) { + if (cachedBeansModel == null || !md5.equals(cachedBeansModelMD5)) { - cachedBeansModel = LiveBeansModel.parse(gson.toJson(json)); - cachedBeansModelMD5 = md5; + cachedBeansModel = LiveBeansModel.parse(gson.toJson(json)); + cachedBeansModelMD5 = md5; - logger.debug("Got {} beans for {}", cachedBeansModel.getBeanNames().size(), this); - } - else { - logger.debug("Got {} beans for {} - from cache", cachedBeansModel.getBeanNames().size(), this); + logger.debug("Got {} beans for {}", cachedBeansModel.getBeanNames().size(), this); + } + else { + logger.debug("Got {} beans for {} - from cache", cachedBeansModel.getBeanNames().size(), this); + } } + + return cachedBeansModel; } - - return cachedBeansModel; - } catch (Exception e) { logger.error("Error parsing beans", e); - return LiveBeansModel.builder().build(); } + + return LiveBeansModel.builder().build(); } private Object getBeansFromActuator(String domain) throws Exception { diff --git a/headless-services/commons/pom.xml b/headless-services/commons/pom.xml index fb4c539a4..595acd128 100644 --- a/headless-services/commons/pom.xml +++ b/headless-services/commons/pom.xml @@ -86,6 +86,7 @@ 3.1.5.RELEASE 0.7.5.RELEASE 2.4 + 1.11