From 80d6ade0dc00dd91c73733d666ce708e601614d4 Mon Sep 17 00:00:00 2001 From: Nieraj Singh Date: Thu, 12 Nov 2020 15:04:31 -0800 Subject: [PATCH] Fixed NPE in metrics parsing and bug in setting code lens content --- .../v2/SpringProcessLiveDataExtractorOverJMX.java | 4 ++-- .../requestmapping/RequestMappingHoverProvider.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessLiveDataExtractorOverJMX.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessLiveDataExtractorOverJMX.java index 752b875b5..9b39c1f40 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessLiveDataExtractorOverJMX.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessLiveDataExtractorOverJMX.java @@ -148,13 +148,13 @@ public class SpringProcessLiveDataExtractorOverJMX { if (metricsData instanceof String) { return RequestMappingMetrics.parse((String) metricsData); - } else { + } else if (metricsData != null) { return RequestMappingMetrics.parse(gson.toJson(metricsData)); } } catch (Exception e) { log.error("", e); - return null; } + return null; } }; } diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/requestmapping/RequestMappingHoverProvider.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/requestmapping/RequestMappingHoverProvider.java index ca037e831..1a95cfbb5 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/requestmapping/RequestMappingHoverProvider.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/requestmapping/RequestMappingHoverProvider.java @@ -321,11 +321,11 @@ public class RequestMappingHoverProvider implements HoverProvider { if (StringUtil.hasText(content)) { - codeLens.setData(content); - - StringBuilder codeLenseContent = new StringBuilder(content); if (metrics != null) { char timeUnitShort = metrics.getTimeUnit().name().charAt(0); + + StringBuilder codeLenseContent = new StringBuilder(content); + codeLenseContent.append('('); codeLenseContent.append("Count="); codeLenseContent.append(metrics.getCallsCount()); @@ -338,9 +338,12 @@ public class RequestMappingHoverProvider implements HoverProvider { codeLenseContent.append(metrics.getMaxTime()); codeLenseContent.append(timeUnitShort); codeLenseContent.append(')'); - } - cmd.setTitle(codeLenseContent.toString()); + content = codeLenseContent.toString(); + } + + codeLens.setData(content); + cmd.setTitle(content); cmd.setCommand("sts.open.url"); cmd.setArguments(ImmutableList.of(content)); }