Skip to content

Commit 3fa10fc

Browse files
committed
Revert "Migrate from snakeyaml to snakeyaml-engine (#554)"
This reverts commit 5241d7d.
1 parent 7e54d15 commit 3fa10fc

File tree

5 files changed

+39
-34
lines changed

5 files changed

+39
-34
lines changed

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
<lombok.version>1.18.38</lombok.version>
6363
<mockito.version>2.28.2</mockito.version>
6464
<slf4j.version>1.7.32</slf4j.version>
65-
<snakeyaml-engine.version>2.9</snakeyaml-engine.version>
65+
<snakeyaml.version>2.0</snakeyaml.version>
6666
<testcontainers.version>1.19.8</testcontainers.version>
6767

6868
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -217,9 +217,9 @@
217217
<version>${slf4j.version}</version>
218218
</dependency>
219219
<dependency>
220-
<groupId>org.snakeyaml</groupId>
221-
<artifactId>snakeyaml-engine</artifactId>
222-
<version>${snakeyaml-engine.version}</version>
220+
<groupId>org.yaml</groupId>
221+
<artifactId>snakeyaml</artifactId>
222+
<version>${snakeyaml.version}</version>
223223
</dependency>
224224
<dependency>
225225
<groupId>javax.management.j2ee</groupId>

src/main/java/org/datadog/jmxfetch/Instance.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
import org.datadog.jmxfetch.service.ConfigServiceNameProvider;
66
import org.datadog.jmxfetch.service.ServiceNameProvider;
77
import org.datadog.jmxfetch.util.InstanceTelemetry;
8-
import org.snakeyaml.engine.v2.api.Load;
9-
import org.snakeyaml.engine.v2.api.LoadSettings;
8+
import org.yaml.snakeyaml.Yaml;
9+
10+
1011

1112
import java.io.File;
1213
import java.io.FileInputStream;
@@ -42,12 +43,11 @@ public class Instance {
4243
public static final String JVM_DIRECT = "jvm_direct";
4344
public static final String ATTRIBUTE = "Attribute: ";
4445

45-
private static final ThreadLocal<Load> YAML =
46-
new ThreadLocal<Load>() {
46+
private static final ThreadLocal<Yaml> YAML =
47+
new ThreadLocal<Yaml>() {
4748
@Override
48-
public Load initialValue() {
49-
LoadSettings settings = LoadSettings.builder().build();
50-
return new Load(settings);
49+
public Yaml initialValue() {
50+
return new Yaml();
5151
}
5252
};
5353

@@ -295,9 +295,9 @@ public static boolean isDirectInstance(Map<String, Object> configInstance) {
295295
}
296296

297297
private void loadDefaultConfig(String configResourcePath) {
298-
InputStream is = this.getClass().getResourceAsStream(configResourcePath);
299-
List<Map<String, Object>> defaultConf = (List<Map<String, Object>>)
300-
YAML.get().loadFromInputStream(is);
298+
List<Map<String, Object>> defaultConf =
299+
(List<Map<String, Object>>)
300+
YAML.get().load(this.getClass().getResourceAsStream(configResourcePath));
301301
for (Map<String, Object> conf : defaultConf) {
302302
configurationList.add(new Configuration(conf));
303303
}
@@ -321,7 +321,7 @@ static void loadMetricConfigFiles(
321321
yamlInputStream = new FileInputStream(yamlPath);
322322
List<Map<String, Object>> confs =
323323
(List<Map<String, Object>>)
324-
YAML.get().loadFromInputStream(yamlInputStream);
324+
YAML.get().load(yamlInputStream);
325325
for (Map<String, Object> conf : confs) {
326326
configurationList.add(new Configuration(conf));
327327
}
@@ -360,7 +360,7 @@ static void loadMetricConfigResources(
360360
try {
361361
Map<String, List<Map<String, Object>>> topYaml =
362362
(Map<String, List<Map<String, Object>>>)
363-
YAML.get().loadFromInputStream(inputStream);
363+
YAML.get().load(inputStream);
364364
List<Map<String, Object>> jmxConf =
365365
topYaml.get("jmx_metrics");
366366
if (jmxConf != null) {

src/main/java/org/datadog/jmxfetch/Status.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
import org.datadog.jmxfetch.util.InstanceTelemetry;
77
import org.datadog.jmxfetch.util.MetadataHelper;
8-
import org.snakeyaml.engine.v2.api.Dump;
9-
import org.snakeyaml.engine.v2.api.DumpSettings;
8+
import org.yaml.snakeyaml.Yaml;
109

1110
import java.io.BufferedOutputStream;
1211
import java.io.File;
@@ -148,17 +147,16 @@ public void addInitFailedCheck(String checkName, String message, String status)
148147
}
149148

150149
private String generateYaml() {
151-
Map<String, Object> status = new HashMap<>();
150+
Map<String, Object> status = new HashMap<String, Object>();
152151
status.put("info", this.info);
153152
status.put("timestamp", System.currentTimeMillis());
154153
status.put("checks", this.instanceStats);
155154
status.put("errors", this.errors);
156-
DumpSettings settings = DumpSettings.builder().build();
157-
return new Dump(settings).dumpToString(status);
155+
return new Yaml().dump(status);
158156
}
159157

160158
private String generateJson() throws IOException {
161-
Map<String, Object> status = new HashMap<>();
159+
Map<String, Object> status = new HashMap<String, Object>();
162160
status.put("info", this.info);
163161
status.put("timestamp", System.currentTimeMillis());
164162
status.put("checks", this.instanceStats);
Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
package org.datadog.jmxfetch;
22

3-
import org.snakeyaml.engine.v2.api.Load;
4-
import org.snakeyaml.engine.v2.api.LoadSettings;
3+
import org.yaml.snakeyaml.Yaml;
54

65
import java.io.InputStream;
6+
import java.util.HashMap;
77
import java.util.Map;
88

9+
@SuppressWarnings("unchecked")
910
class YamlParser {
1011

11-
private final Map<Object, Object> parsedYaml;
12+
private Map<Object, Object> parsedYaml;
1213

1314
public YamlParser(InputStream yamlInputStream) {
14-
LoadSettings settings = LoadSettings.builder().build();
15-
parsedYaml = (Map<Object, Object>) new Load(settings).loadFromInputStream(yamlInputStream);
15+
parsedYaml = (Map<Object, Object>) new Yaml().load(yamlInputStream);
16+
}
17+
18+
public YamlParser(YamlParser other) {
19+
parsedYaml = new HashMap<Object, Object>((Map<Object, Object>) other.getParsedYaml());
1620
}
1721

1822
public Object getYamlInstances() {
@@ -22,4 +26,8 @@ public Object getYamlInstances() {
2226
public Object getInitConfig() {
2327
return parsedYaml.get("init_config");
2428
}
29+
30+
public Object getParsedYaml() {
31+
return parsedYaml;
32+
}
2533
}

src/test/java/org/datadog/jmxfetch/StatusTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
import java.io.FileInputStream;
77
import java.io.IOException;
88
import java.io.InputStream;
9+
import java.util.HashMap;
910
import java.util.List;
1011
import java.util.Map;
1112

1213
import org.datadog.jmxfetch.util.InstanceTelemetry;
1314
import org.junit.Rule;
1415
import org.junit.Test;
1516
import org.junit.rules.TemporaryFolder;
16-
import org.snakeyaml.engine.v2.api.Load;
17-
import org.snakeyaml.engine.v2.api.LoadSettings;
17+
import org.yaml.snakeyaml.Yaml;
1818

1919
public class StatusTest {
2020

@@ -45,13 +45,12 @@ public void TestStatus() throws IOException {
4545
status.addInstanceStats("fake_check", "fake_instance", 10, 3, "fake_message", Status.STATUS_OK, instance);
4646
status.flush();
4747

48-
LoadSettings settings = LoadSettings.builder().build(); //TODO
49-
Load load = new Load(settings);
48+
Yaml yaml = new Yaml();
5049
InputStream inputStream = new FileInputStream(tempFilePath);
5150

52-
Map<?, ?> yamlMap = (Map<?, ?>) load.loadFromInputStream(inputStream);
53-
Map<?, ?> checks = (Map<?, ?>) yamlMap.get("checks");
54-
Map<?, ?> initializedChecks = (Map<?, ?>) checks.get("initialized_checks");
51+
HashMap yamlMap = yaml.load(inputStream);
52+
HashMap checks = (HashMap) yamlMap.get("checks");
53+
HashMap initializedChecks = (HashMap) checks.get("initialized_checks");
5554
List<Map<String, Object>> fakeCheck = (List<Map<String, Object>>) initializedChecks.get("fake_check");
5655
Map<String, Object> stats = fakeCheck.get(0);
5756
assertEquals("fake_instance", stats.get("instance_name"));

0 commit comments

Comments
 (0)