summaryrefslogtreecommitdiffstats
path: root/configserver
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 /configserver
parentc9ccef5b417962c47135d4a4902d2349f0cfbec6 (diff)
Use SlimeUtils in more places
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java7
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClient.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantMetaData.java16
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpHandlerTest.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java6
5 files changed, 13 insertions, 24 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index bf2fdbf03ef..d8ef10b150f 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -378,8 +378,8 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
return transaction;
}
- private String createMetaData(Tenant tenant) {
- return new TenantMetaData(tenant.getSessionRepository().clock().instant()).asJsonString();
+ private byte[] createMetaData(Tenant tenant) {
+ return new TenantMetaData(tenant.getSessionRepository().clock().instant()).asJsonBytes();
}
TenantMetaData getTenantMetaData(Tenant tenant) {
@@ -388,10 +388,9 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
}
private Transaction writeTenantMetaData(Tenant tenant) {
- String jsonString = createMetaData(tenant);
return new CuratorTransaction(tenantRepository.getCurator())
.add(CuratorOperations.setData(TenantRepository.getTenantPath(tenant.getName()).getAbsolute(),
- Utf8.toBytes(jsonString)));
+ createMetaData(tenant)));
}
static void checkIfActiveHasChanged(LocalSession session, Session currentActiveSession, boolean ignoreStaleSessionFailure) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClient.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClient.java
index c634d82010e..858a2c84e02 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClient.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClient.java
@@ -275,7 +275,7 @@ public class ZooKeeperClient {
* @param metaData The application metadata.
*/
private void write(ApplicationMetaData metaData) {
- configCurator.putData(getZooKeeperAppPath(ConfigCurator.META_ZK_PATH).getAbsolute(), metaData.asJsonString());
+ configCurator.putData(getZooKeeperAppPath(ConfigCurator.META_ZK_PATH).getAbsolute(), metaData.asJsonBytes());
}
void cleanupZooKeeper() {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantMetaData.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantMetaData.java
index 47a3dcc8ee0..24862b82fb0 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantMetaData.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantMetaData.java
@@ -3,14 +3,10 @@ package com.yahoo.vespa.config.server.tenant;
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.text.Utf8;
+import com.yahoo.slime.SlimeUtils;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.nio.charset.StandardCharsets;
import java.time.Instant;
/**
@@ -31,12 +27,9 @@ public class TenantMetaData {
return lastDeployTimestamp;
}
- public String asJsonString() {
- Slime slime = getSlime();
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ 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);
}
@@ -44,8 +37,7 @@ public class TenantMetaData {
public static TenantMetaData 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 lastDeployTimestamp = root.field("lastDeployTimestamp");
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpHandlerTest.java
index d614031c443..ab161feb519 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpHandlerTest.java
@@ -4,8 +4,8 @@ package com.yahoo.vespa.config.server.http;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.jdisc.Response;
-import com.yahoo.slime.JsonDecoder;
import com.yahoo.slime.Slime;
+import com.yahoo.slime.SlimeUtils;
import org.junit.Test;
import java.io.ByteArrayOutputStream;
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertThat;
* @author Ulf Lilleengen
*/
public class HttpHandlerTest {
+
@Test
public void testResponse() throws IOException {
final String message = "failed";
@@ -29,8 +30,7 @@ public class HttpHandlerTest {
assertThat(response.getStatus(), is(Response.Status.BAD_REQUEST));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
response.render(baos);
- Slime data = new Slime();
- new JsonDecoder().decode(data, baos.toByteArray());
+ Slime data = SlimeUtils.jsonToSlime(baos.toByteArray());
assertThat(data.get().field("error-code").asString(), is(HttpErrorResponse.errorCodes.INVALID_APPLICATION_PACKAGE.name()));
assertThat(data.get().field("message").asString(), is(message));
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
index b78d8d3e525..2f591ece8c4 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
@@ -12,8 +12,8 @@ import com.yahoo.config.provision.OutOfCapacityException;
import com.yahoo.config.provision.TenantName;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.jdisc.http.HttpRequest;
-import com.yahoo.slime.JsonDecoder;
import com.yahoo.slime.Slime;
+import com.yahoo.slime.SlimeUtils;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.TimeoutBudget;
@@ -285,9 +285,7 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
private Slime getData(HttpResponse response) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
response.render(baos);
- Slime data = new Slime();
- new JsonDecoder().decode(data, baos.toByteArray());
- return data;
+ return SlimeUtils.jsonToSlime(baos.toByteArray());
}
private static void assertResponseContains(HttpResponse response, String string) throws IOException {