diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-08-21 11:23:13 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-08-21 11:23:13 +0200 |
commit | c61dae7c6ac4b5c578414c7483442a6786f3e2ed (patch) | |
tree | 70a8b01dcae767144c7138cdae9230970c3e1c8d /config-model-api | |
parent | c9ccef5b417962c47135d4a4902d2349f0cfbec6 (diff) |
Use SlimeUtils in more places
Diffstat (limited to 'config-model-api')
-rw-r--r-- | config-model-api/abi-spec.json | 3 | ||||
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationMetaData.java | 17 |
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); } |