summaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-08-21 11:23:13 +0200
committerHarald Musum <musum@verizonmedia.com>2020-08-21 11:23:13 +0200
commitc61dae7c6ac4b5c578414c7483442a6786f3e2ed (patch)
tree70a8b01dcae767144c7138cdae9230970c3e1c8d /config-model-api
parentc9ccef5b417962c47135d4a4902d2349f0cfbec6 (diff)
Use SlimeUtils in more places
Diffstat (limited to 'config-model-api')
-rw-r--r--config-model-api/abi-spec.json3
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationMetaData.java17
2 files changed, 9 insertions, 11 deletions
diff --git a/config-model-api/abi-spec.json b/config-model-api/abi-spec.json
index d536eaf8bfc..313ef0f5fb9 100644
--- a/config-model-api/abi-spec.json
+++ b/config-model-api/abi-spec.json
@@ -83,7 +83,8 @@
"public java.lang.String toString()",
"public static com.yahoo.config.application.api.ApplicationMetaData fromJsonString(java.lang.String)",
"public com.yahoo.slime.Slime getSlime()",
- "public java.lang.String asJsonString()"
+ "public java.lang.String asJsonString()",
+ "public byte[] asJsonBytes()"
],
"fields": []
},
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationMetaData.java b/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationMetaData.java
index 480d12b6700..baca1184072 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationMetaData.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationMetaData.java
@@ -4,14 +4,11 @@ package com.yahoo.config.application.api;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Inspector;
-import com.yahoo.slime.JsonDecoder;
-import com.yahoo.slime.JsonFormat;
import com.yahoo.slime.Slime;
+import com.yahoo.slime.SlimeUtils;
import com.yahoo.text.Utf8;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.nio.charset.StandardCharsets;
/**
* Metadata about an application package.
@@ -97,8 +94,7 @@ public class ApplicationMetaData {
public static ApplicationMetaData fromJsonString(String jsonString) {
try {
- Slime data = new Slime();
- new JsonDecoder().decode(data, Utf8.toBytes(jsonString));
+ Slime data = SlimeUtils.jsonToSlime(jsonString);
Inspector root = data.get();
Inspector deploy = root.field("deploy");
Inspector app = root.field("application");
@@ -139,11 +135,12 @@ public class ApplicationMetaData {
}
public String asJsonString() {
- Slime slime = getSlime();
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ return Utf8.toString(asJsonBytes());
+ }
+
+ public byte[] asJsonBytes() {
try {
- new JsonFormat(false).encode(baos, slime);
- return baos.toString(StandardCharsets.UTF_8);
+ return SlimeUtils.toJsonBytes(getSlime());
} catch (IOException e) {
throw new RuntimeException("Unable to encode metadata", e);
}