From 2768a29f09a67c4294073e3f26c2aa28a0444ab1 Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Wed, 7 Aug 2019 16:47:11 +0200 Subject: [PATCH] avoid putting null elements in the symbol addon information list, causes issues when reading such a json and setting the array data back in --- .../java/requestmapping/WebfluxRouterSymbolProvider.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/requestmapping/WebfluxRouterSymbolProvider.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/requestmapping/WebfluxRouterSymbolProvider.java index 5453c4436..88f4f0c7d 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/requestmapping/WebfluxRouterSymbolProvider.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/requestmapping/WebfluxRouterSymbolProvider.java @@ -104,9 +104,13 @@ public class WebfluxRouterSymbolProvider extends AbstractSymbolProvider { Location location = new Location(doc.getUri(), doc.toRange(methodNameStart, node.getLength() - (methodNameStart - invocationStart))); WebfluxHandlerInformation handler = extractHandlerInformation(node, path, httpMethods, contentTypes, acceptTypes); WebfluxElementsInformation elements = extractElementsInformation(pathElements, httpMethods, contentTypes, acceptTypes); + + SymbolAddOnInformation[] addon = handler != null ? + new SymbolAddOnInformation[] {handler, elements} : + new SymbolAddOnInformation[] {elements}; EnhancedSymbolInformation enhancedSymbol = RouteUtils.createRouteSymbol(location, path, getElementStrings(httpMethods), - getElementStrings(contentTypes), getElementStrings(acceptTypes), new SymbolAddOnInformation[] {handler, elements}); + getElementStrings(contentTypes), getElementStrings(acceptTypes), addon); context.getGeneratedSymbols().add(new CachedSymbol(context.getDocURI(), context.getLastModified(), enhancedSymbol));