Bump snakeyaml from 1.32 to 1.33 (#3370)
diff --git a/dependencies/default/pom.xml b/dependencies/default/pom.xml
index 41e01f4..c9e9f4d 100644
--- a/dependencies/default/pom.xml
+++ b/dependencies/default/pom.xml
@@ -91,7 +91,7 @@
<servo.version>0.13.2</servo.version>
<servlet-api.version>4.0.4</servlet-api.version>
<slf4j.version>1.7.36</slf4j.version>
- <snakeyaml.version>1.32</snakeyaml.version>
+ <snakeyaml.version>1.33</snakeyaml.version>
<spectator.version>1.3.8</spectator.version>
<spring.version>5.3.23</spring.version>
<spring-boot.version>2.6.7</spring-boot.version>
diff --git a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/YAMLUtil.java b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/YAMLUtil.java
index 21ace7c..ec77cd4 100644
--- a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/YAMLUtil.java
+++ b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/YAMLUtil.java
@@ -24,6 +24,7 @@
import java.util.LinkedHashMap;
import java.util.Map;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -35,7 +36,7 @@
private static Yaml safeParser() {
// Yaml instance is not thread safe, create a new instance for each parser
- return new Yaml(new SafeConstructor());
+ return new Yaml(new SafeConstructor(new LoaderOptions()));
}
/**
@@ -95,7 +96,7 @@
}
public static <T> T parserObject(String yamlContent, Class<T> clazz) {
- Yaml parser = new Yaml(new Constructor(new TypeDescription(clazz, clazz)));
+ Yaml parser = new Yaml(new Constructor(new TypeDescription(clazz, clazz), new LoaderOptions()));
return parser.loadAs(yamlContent, clazz);
}
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/properties/GovernanceProperties.java b/governance/src/main/java/org/apache/servicecomb/governance/properties/GovernanceProperties.java
index df824a5..615c2d5 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/properties/GovernanceProperties.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/properties/GovernanceProperties.java
@@ -39,6 +39,8 @@
import org.springframework.core.env.Environment;
import org.springframework.core.env.PropertySource;
import org.springframework.util.CollectionUtils;
+import org.yaml.snakeyaml.DumperOptions;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -49,7 +51,7 @@
public abstract class GovernanceProperties<T extends Configurable> implements InitializingBean {
private static final Logger LOGGER = LoggerFactory.getLogger(GovernanceProperties.class);
- private final Representer representer = new Representer();
+ private final Representer representer = new Representer(new DumperOptions());
private final String configKey;
@@ -169,7 +171,8 @@
}
try {
- Yaml entityParser = new Yaml(new Constructor(new TypeDescription(entityClass, entityClass)), representer);
+ Yaml entityParser = new Yaml(new Constructor(new TypeDescription(entityClass, entityClass), new LoaderOptions()),
+ representer);
T result = entityParser.loadAs(value, entityClass);
result.setName(key);
diff --git a/governance/src/main/java/org/apache/servicecomb/router/cache/RouterRuleCache.java b/governance/src/main/java/org/apache/servicecomb/router/cache/RouterRuleCache.java
index 9d31330..8ff480c 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/cache/RouterRuleCache.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/cache/RouterRuleCache.java
@@ -31,6 +31,8 @@
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
+import org.yaml.snakeyaml.DumperOptions;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -53,7 +55,7 @@
private final Object lock = new Object();
- private final Representer representer = new Representer();
+ private final Representer representer = new Representer(new DumperOptions());
@Autowired
public RouterRuleCache(Environment environment) {
@@ -98,7 +100,8 @@
List<PolicyRuleItem> policyRuleItemList;
try {
Yaml entityParser = new Yaml(
- new Constructor(new TypeDescription(PolicyRuleItem[].class, PolicyRuleItem[].class)), representer);
+ new Constructor(new TypeDescription(PolicyRuleItem[].class, PolicyRuleItem[].class), new LoaderOptions()),
+ representer);
policyRuleItemList = Arrays
.asList(entityParser.loadAs(ruleStr, PolicyRuleItem[].class));
} catch (Exception e) {