From 8a740236bc869ef3415396b39cb71fe88e2d363e Mon Sep 17 00:00:00 2001 From: aboyko Date: Thu, 21 Dec 2023 19:19:59 -0500 Subject: [PATCH] Upgrade boot and rewrite libs --- .../bosh/models/BoshCommandBasedModelProvider.java | 13 ++++++++----- .../ide/vscode/commons/yaml/ast/YamlParser.java | 4 ++-- headless-services/commons/pom.xml | 8 ++++---- .../metadata/AdHocSpringPropertyIndexProvider.java | 3 ++- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandBasedModelProvider.java b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandBasedModelProvider.java index 481770d8b..d1024f4c6 100644 --- a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandBasedModelProvider.java +++ b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandBasedModelProvider.java @@ -17,13 +17,14 @@ import java.util.Collection; import java.util.List; import java.util.stream.Stream; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.ide.vscode.bosh.BoshCliConfig; import org.springframework.ide.vscode.commons.util.Assert; import org.springframework.ide.vscode.commons.util.CollectorUtil; import org.springframework.ide.vscode.commons.util.ExternalCommand; import org.springframework.ide.vscode.commons.util.ExternalProcess; import org.springframework.ide.vscode.commons.util.GsonUtil; -import org.springframework.ide.vscode.commons.util.Log; import org.springframework.ide.vscode.commons.util.StringUtil; import org.springframework.ide.vscode.commons.util.text.LanguageId; import org.springframework.ide.vscode.commons.util.text.TextDocument; @@ -31,7 +32,7 @@ import org.springframework.ide.vscode.commons.yaml.ast.YamlFileAST; import org.springframework.ide.vscode.commons.yaml.ast.YamlParser; import org.springframework.ide.vscode.commons.yaml.path.YamlTraversal; import org.springframework.ide.vscode.commons.yaml.util.JSONCursor; -import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.representer.Representer; import com.google.gson.Gson; @@ -44,6 +45,8 @@ import com.google.gson.annotations.SerializedName; * command (with `--json`) swtich and then extracts information from its json output. */ public abstract class BoshCommandBasedModelProvider implements DynamicModelProvider { + + private static final Logger log = LoggerFactory.getLogger(BoshCommandBasedModelProvider.class); private final YamlParser yamlParser; @@ -55,7 +58,7 @@ public abstract class BoshCommandBasedModelProvider implements DynamicModelPr protected BoshCommandBasedModelProvider(BoshCliConfig config) { this.config = config; - Representer representer = new Representer(); + Representer representer = new Representer(new DumperOptions()); representer.getPropertyUtils().setSkipMissingProperties(true); yamlParser = new YamlParser(); } @@ -115,7 +118,7 @@ public abstract class BoshCommandBasedModelProvider implements DynamicModelPr protected String executeCommand(ExternalCommand command) throws Exception { if (command==null) { - Log.log("bosh cli based editor features are disabled"); + log.warn("bosh cli based editor features are disabled"); throw new IOException("bosh cli based editor features are disabled. " + "Consult the atom/vscode extension's readme for detailed " + "instructions on how to target a director and enable them."); @@ -124,7 +127,7 @@ public abstract class BoshCommandBasedModelProvider implements DynamicModelPr ExternalProcess process = new ExternalProcess(getWorkingDir(), command, true, config.getTimeout()); return process.getOut(); } catch (Exception e) { - Log.log("executing cmd FAILED", e); + log.error("executing cmd FAILED", e); throw e; } } diff --git a/headless-services/commons/commons-yaml/src/main/java/org/springframework/ide/vscode/commons/yaml/ast/YamlParser.java b/headless-services/commons/commons-yaml/src/main/java/org/springframework/ide/vscode/commons/yaml/ast/YamlParser.java index 904b7a2f7..bd4071c6b 100644 --- a/headless-services/commons/commons-yaml/src/main/java/org/springframework/ide/vscode/commons/yaml/ast/YamlParser.java +++ b/headless-services/commons/commons-yaml/src/main/java/org/springframework/ide/vscode/commons/yaml/ast/YamlParser.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2016-2017 Pivotal, Inc. + * Copyright (c) 2016-2023 Pivotal, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -38,7 +38,7 @@ public class YamlParser implements YamlASTProvider { reader.setInput(atTokenTransformHack(doc.get())); LoaderOptions loaderOpts = new LoaderOptions(); loaderOpts.setMaxAliasesForCollections(1000); - Iterable nodes = new Yaml(new SafeConstructor(loaderOpts), new Representer(), new DumperOptions(), loaderOpts).composeAll(reader); + Iterable nodes = new Yaml(new SafeConstructor(loaderOpts), new Representer(new DumperOptions()), new DumperOptions(), loaderOpts).composeAll(reader); return new YamlFileAST(doc, ImmutableList.copyOf(nodes)); } diff --git a/headless-services/commons/pom.xml b/headless-services/commons/pom.xml index a0cc2edb1..8024f35a1 100644 --- a/headless-services/commons/pom.xml +++ b/headless-services/commons/pom.xml @@ -13,7 +13,7 @@ org.springframework.boot spring-boot-starter-parent - 3.1.5 + 3.2.1 @@ -118,9 +118,9 @@ 1.9.20 - 8.9.9 - 1.7.7 - 5.1.4 + 8.11.5 + 1.8.4 + 5.1.7 1.5.0 8.4 diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/metadata/AdHocSpringPropertyIndexProvider.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/metadata/AdHocSpringPropertyIndexProvider.java index 2698fce25..76b1e38f4 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/metadata/AdHocSpringPropertyIndexProvider.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/metadata/AdHocSpringPropertyIndexProvider.java @@ -32,6 +32,7 @@ import org.springframework.ide.vscode.commons.util.FileObserver; import org.springframework.ide.vscode.commons.util.FuzzyMap; import org.springframework.ide.vscode.commons.util.text.LanguageId; import org.springframework.ide.vscode.commons.yaml.ast.NodeUtil; +import org.yaml.snakeyaml.LoaderOptions; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.SafeConstructor; import org.yaml.snakeyaml.nodes.MappingNode; @@ -140,7 +141,7 @@ public class AdHocSpringPropertyIndexProvider implements ProjectBasedPropertyInd private Properties parseYaml(File yamlFile) { if (yamlFile.isFile()) { - Yaml yaml = new Yaml(new SafeConstructor()); + Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions())); try (Reader reader = new InputStreamReader(new FileInputStream(yamlFile), "UTF8")) { Properties props = new Properties(); for (Node node : yaml.composeAll(reader)) {