aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2020-09-24 19:38:40 +0200
committerValerij Fredriksen <valerij92@gmail.com>2020-09-24 19:49:46 +0200
commita62b109c312a00f4ec33229d1f54d515ca9e75c4 (patch)
tree93d3f6a935bbc1b32faeea00a807807a2b9b8e8d
parent93d1fb64807a77db4a0280af877abb76be3fcd25 (diff)
Use SlimeJsonResponse
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/ContentHandler.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentListResponse.java13
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java16
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusResponse.java36
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionResponse.java46
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ListTenantsResponse.java13
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveResponse.java9
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java7
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateResponse.java26
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareAndActivateResponse.java12
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareResponse.java23
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java5
-rw-r--r--container-core/src/main/java/com/yahoo/restapi/SlimeJsonResponse.java6
14 files changed, 63 insertions, 154 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/ContentHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/ContentHandler.java
index 7112c7d3e23..bbbc8764122 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/ContentHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/ContentHandler.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.config.server.http;
import com.yahoo.config.application.api.ApplicationFile;
import com.yahoo.container.jdisc.HttpResponse;
+import com.yahoo.restapi.SlimeJsonResponse;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
@@ -102,6 +103,6 @@ public class ContentHandler {
Slime slime = new Slime();
Cursor root = slime.setObject();
root.setString("prepared", request.getUrlBase("/prepared"));
- return new SessionResponse(slime, root);
+ return new SlimeJsonResponse(slime);
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentListResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentListResponse.java
index f761f5f6b6e..57095772b26 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentListResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentListResponse.java
@@ -2,12 +2,9 @@
package com.yahoo.vespa.config.server.http;
import com.yahoo.config.application.api.ApplicationFile;
+import com.yahoo.restapi.SlimeJsonResponse;
import com.yahoo.slime.Cursor;
-import com.yahoo.slime.JsonFormat;
-import com.yahoo.slime.Slime;
-import java.io.IOException;
-import java.io.OutputStream;
import java.util.List;
/**
@@ -16,19 +13,13 @@ import java.util.List;
* @author Ulf Lilleengen
* @since 5.1
*/
-class SessionContentListResponse extends SessionResponse {
- private final Slime slime = new Slime();
+class SessionContentListResponse extends SlimeJsonResponse {
public SessionContentListResponse(String urlBase, List<ApplicationFile> files) {
- super();
Cursor array = slime.setArray();
for (ApplicationFile file : files) {
array.addString(urlBase + file.getPath() + (file.isDirectory() ? "/" : ""));
}
}
- @Override
- public void render(OutputStream outputStream) throws IOException {
- new JsonFormat(true).encode(outputStream, slime);
- }
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java
index 075b4bc329b..08cda869111 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java
@@ -3,12 +3,10 @@ package com.yahoo.vespa.config.server.http;
import com.yahoo.config.application.api.ApplicationFile;
import java.util.logging.Level;
+
+import com.yahoo.restapi.SlimeJsonResponse;
import com.yahoo.slime.Cursor;
-import com.yahoo.slime.JsonFormat;
-import com.yahoo.slime.Slime;
-import java.io.IOException;
-import java.io.OutputStream;
import java.util.*;
/**
@@ -16,14 +14,11 @@ import java.util.*;
*
* @author hmusum
*/
-class SessionContentStatusListResponse extends SessionResponse {
+class SessionContentStatusListResponse extends SlimeJsonResponse {
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger("SessionContentStatusListResponse");
- private final Slime slime = new Slime();
-
public SessionContentStatusListResponse(String urlBase, List<ApplicationFile> files) {
- super();
Cursor array = slime.setArray();
for (ApplicationFile f : files) {
Cursor element = array.addObject();
@@ -34,9 +29,4 @@ class SessionContentStatusListResponse extends SessionResponse {
}
}
- @Override
- public void render(OutputStream outputStream) throws IOException {
- new JsonFormat(true).encode(outputStream, slime);
- }
-
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusResponse.java
index bd182093e99..e6909e32985 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusResponse.java
@@ -1,28 +1,19 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.http;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.config.application.api.ApplicationFile;
+import com.yahoo.restapi.SlimeJsonResponse;
+import com.yahoo.slime.Cursor;
-import java.io.*;
/**
* Represents a response for a request to show the status and md5sum of a file in the application package.
*
* @author hmusum
*/
-public class SessionContentStatusResponse extends SessionResponse {
-
- private final ApplicationFile file;
- private final String urlBase;
- private final ApplicationFile.MetaData metaData;
- private final ObjectMapper mapper = new ObjectMapper();
+public class SessionContentStatusResponse extends SlimeJsonResponse {
public SessionContentStatusResponse(ApplicationFile file, String urlBase) {
- super();
- this.file = file;
- this.urlBase = urlBase;
-
ApplicationFile.MetaData metaData;
if (file == null) {
metaData = new ApplicationFile.MetaData(ApplicationFile.ContentStatusDeleted, "");
@@ -32,24 +23,11 @@ public class SessionContentStatusResponse extends SessionResponse {
if (metaData == null) {
throw new IllegalArgumentException("Could not find status for '" + file.getPath() + "'");
}
- this.metaData = metaData;
- }
- @Override
- public void render(OutputStream outputStream) throws IOException {
- mapper.writeValue(outputStream, new ResponseData(metaData.status, metaData.md5, urlBase + file.getPath()));
- }
-
- private static class ResponseData {
- public final String status;
- public final String md5;
- public final String name;
-
- private ResponseData(String status, String md5, String name) {
- this.status = status;
- this.md5 = md5;
- this.name = name;
- }
+ Cursor element = slime.setObject();
+ element.setString("status", metaData.getStatus());
+ element.setString("md5", metaData.getMd5());
+ element.setString("name", urlBase + file.getPath());
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionResponse.java
deleted file mode 100644
index ad658e3848a..00000000000
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionResponse.java
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.config.server.http;
-
-import com.yahoo.container.jdisc.HttpResponse;
-import com.yahoo.slime.Cursor;
-import com.yahoo.slime.JsonFormat;
-import com.yahoo.slime.Slime;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import static com.yahoo.jdisc.http.HttpResponse.Status.OK;
-
-/**
- * Superclass for responses from session HTTP handlers. Implements the
- * render method.
- *
- * @author hmusum
- * @since 5.1.14
- */
-public class SessionResponse extends HttpResponse {
- private final Slime slime;
- protected final Cursor root;
-
- public SessionResponse() {
- super(OK);
- slime = new Slime();
- root = slime.setObject();
- }
-
- public SessionResponse(Slime slime, Cursor root) {
- super(OK);
- this.slime = slime;
- this.root = root;
- }
-
- @Override
- public void render(OutputStream outputStream) throws IOException {
- new JsonFormat(true).encode(outputStream, slime);
- }
-
- @Override
- public String getContentType() {
- return HttpConfigResponse.JSON_CONTENT_TYPE;
- }
-}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ListTenantsResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ListTenantsResponse.java
index 95a71881b47..3789939429c 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ListTenantsResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ListTenantsResponse.java
@@ -3,26 +3,19 @@ package com.yahoo.vespa.config.server.http.v2;
import com.google.common.collect.ImmutableSet;
import com.yahoo.config.provision.TenantName;
+import com.yahoo.restapi.SlimeJsonResponse;
import com.yahoo.slime.Cursor;
-import com.yahoo.vespa.config.server.http.HttpConfigResponse;
-import com.yahoo.vespa.config.server.http.SessionResponse;
/**
* Tenant list response
*
* @author vegardh
*/
-public class ListTenantsResponse extends SessionResponse {
+public class ListTenantsResponse extends SlimeJsonResponse {
ListTenantsResponse(ImmutableSet<TenantName> tenants) {
- super();
- Cursor tenantArray = this.root.setArray("tenants");
+ Cursor tenantArray = slime.setObject().setArray("tenants");
tenants.forEach(tenantName -> tenantArray.addString(tenantName.value()));
}
- @Override
- public String getContentType() {
- return HttpConfigResponse.JSON_CONTENT_TYPE;
- }
-
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveResponse.java
index 334dbe88614..9c0fbdf2613 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveResponse.java
@@ -4,16 +4,19 @@ package com.yahoo.vespa.config.server.http.v2;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.jdisc.HttpRequest;
+import com.yahoo.restapi.SlimeJsonResponse;
+import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.vespa.config.server.http.SessionResponse;
-public class SessionActiveResponse extends SessionResponse {
+public class SessionActiveResponse extends SlimeJsonResponse {
public SessionActiveResponse(Slime metaData, HttpRequest request, ApplicationId applicationId, long sessionId, Zone zone) {
- super(metaData, metaData.get());
+ super(metaData);
TenantName tenantName = applicationId.tenant();
String message = "Session " + sessionId + " for tenant '" + tenantName.value() + "' activated.";
+ Cursor root = metaData.get();
+
root.setString("tenant", tenantName.value());
root.setString("message", message);
root.setString("url", "http://" + request.getHost() + ":" + request.getPort() +
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java
index 5aee711b379..de8b2e63aeb 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java
@@ -60,7 +60,7 @@ public class SessionCreateHandler extends SessionHandler {
ApplicationId applicationId = ApplicationId.from(tenantName, ApplicationName.defaultName(), InstanceName.defaultName());
sessionId = applicationRepository.createSession(applicationId, timeoutBudget, request.getData(), request.getHeader(ApplicationApiHandler.contentTypeHeader));
}
- return createResponse(request, tenantName, deployLog, sessionId);
+ return new SessionCreateResponse(deployLog, tenantName, request.getHost(), request.getPort(), sessionId);
}
static ApplicationId getFromApplicationId(HttpRequest request) {
@@ -99,9 +99,4 @@ public class SessionCreateHandler extends SessionHandler {
ApplicationApiHandler.APPLICATION_X_GZIP + "' and '" + ApplicationApiHandler.APPLICATION_ZIP + "' are supported");
}
}
-
- private HttpResponse createResponse(HttpRequest request, TenantName tenantName, Slime deployLog, long sessionId) {
- return new SessionCreateResponse(tenantName, deployLog, deployLog.get())
- .createResponse(request.getHost(), request.getPort(), sessionId);
- }
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateResponse.java
index 7d08ea94ce6..33c8f54b1f6 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateResponse.java
@@ -2,10 +2,9 @@
package com.yahoo.vespa.config.server.http.v2;
import com.yahoo.config.provision.TenantName;
-import com.yahoo.container.jdisc.HttpResponse;
+import com.yahoo.restapi.SlimeJsonResponse;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
-import com.yahoo.vespa.config.server.http.SessionResponse;
/**
* Creates a response for SessionCreateHandler.
@@ -13,22 +12,17 @@ import com.yahoo.vespa.config.server.http.SessionResponse;
* @author hmusum
* @since 5.1.27
*/
-public class SessionCreateResponse extends SessionResponse {
- private final TenantName tenantName;
+public class SessionCreateResponse extends SlimeJsonResponse {
- public SessionCreateResponse(TenantName tenantName, Slime deployLog, Cursor root) {
- super(deployLog, root);
- this.tenantName = tenantName;
- }
-
- public HttpResponse createResponse(String hostName, int port, long sessionId) {
+ public SessionCreateResponse(Slime deployLog, TenantName tenantName, String hostName, int port, long sessionId) {
+ super(deployLog);
String path = "http://" + hostName + ":" + port + "/application/v2/tenant/" + tenantName.value() + "/session/" + sessionId;
+ Cursor root = deployLog.get();
- this.root.setString("tenant", tenantName.value());
- this.root.setString("session-id", Long.toString(sessionId));
- this.root.setString("prepared", path + "/prepared");
- this.root.setString("content", path + "/content/");
- this.root.setString("message", "Session " + sessionId + " for tenant '" + tenantName.value() + "' created.");
- return this;
+ root.setString("tenant", tenantName.value());
+ root.setString("session-id", Long.toString(sessionId));
+ root.setString("prepared", path + "/prepared");
+ root.setString("content", path + "/content/");
+ root.setString("message", "Session " + sessionId + " for tenant '" + tenantName.value() + "' created.");
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareAndActivateResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareAndActivateResponse.java
index 7d9a0b11c28..7bace4749a8 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareAndActivateResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareAndActivateResponse.java
@@ -5,21 +5,25 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.jdisc.HttpRequest;
+import com.yahoo.restapi.SlimeJsonResponse;
+import com.yahoo.slime.Cursor;
import com.yahoo.vespa.config.server.configchange.ConfigChangeActionsSlimeConverter;
-import com.yahoo.vespa.config.server.http.SessionResponse;
/**
* Creates a response for SessionPrepareHandler.
*
* @author hmusum
*/
-class SessionPrepareAndActivateResponse extends SessionResponse {
+class SessionPrepareAndActivateResponse extends SlimeJsonResponse {
SessionPrepareAndActivateResponse(PrepareResult result, HttpRequest request, ApplicationId applicationId, Zone zone) {
- super(result.deployLog(), result.deployLog().get());
+ super(result.deployLogger().slime());
+
TenantName tenantName = applicationId.tenant();
String message = "Session " + result.sessionId() + " for tenant '" + tenantName.value() + "' prepared and activated.";
- this.root.setString("tenant", tenantName.value());
+ Cursor root = slime.get();
+
+ root.setString("tenant", tenantName.value());
root.setString("url", "http://" + request.getHost() + ":" + request.getPort() +
"/application/v2/tenant/" + tenantName +
"/application/" + applicationId.application().value() +
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java
index c0789a9c828..4cb07e37f28 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java
@@ -51,7 +51,7 @@ public class SessionPrepareHandler extends SessionHandler {
long sessionId = getSessionIdV2(request);
applicationRepository.validateThatSessionIsNotActive(tenant, sessionId);
applicationRepository.validateThatSessionIsPrepared(tenant, sessionId);
- return new SessionPrepareResponse(applicationRepository.createDeployLog(), tenant.getName(), request, sessionId);
+ return new SessionPrepareResponse(tenant.getName(), request, sessionId);
}
@Override
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareResponse.java
index 6d2aa426036..a97cd37d3b4 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareResponse.java
@@ -3,33 +3,36 @@ package com.yahoo.vespa.config.server.http.v2;
import com.yahoo.config.provision.TenantName;
import com.yahoo.container.jdisc.HttpRequest;
+import com.yahoo.restapi.SlimeJsonResponse;
+import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
+import com.yahoo.slime.Type;
import com.yahoo.vespa.config.server.configchange.ConfigChangeActions;
import com.yahoo.vespa.config.server.configchange.ConfigChangeActionsSlimeConverter;
-import com.yahoo.vespa.config.server.http.SessionResponse;
/**
* Creates a response for SessionPrepareHandler.
*
* @author hmusum
*/
-class SessionPrepareResponse extends SessionResponse {
+class SessionPrepareResponse extends SlimeJsonResponse {
- SessionPrepareResponse(Slime deployLog, TenantName tenantName, HttpRequest request, long sessionId) {
- this(deployLog, tenantName, request, sessionId, new ConfigChangeActions());
+ SessionPrepareResponse(TenantName tenantName, HttpRequest request, long sessionId) {
+ this(new Slime(), tenantName, request, sessionId, new ConfigChangeActions());
}
SessionPrepareResponse(PrepareResult result, TenantName tenantName, HttpRequest request) {
- this(result.deployLog(), tenantName, request, result.sessionId(), result.configChangeActions());
+ this(result.deployLogger().slime(), tenantName, request, result.sessionId(), result.configChangeActions());
}
private SessionPrepareResponse(Slime deployLog, TenantName tenantName, HttpRequest request, long sessionId, ConfigChangeActions actions) {
- super(deployLog, deployLog.get());
- String message = "Session " + sessionId + " for tenant '" + tenantName.value() + "' prepared.";
- this.root.setString("tenant", tenantName.value());
- this.root.setString("activate", "http://" + request.getHost() + ":" + request.getPort() +
+ super(deployLog);
+
+ Cursor root = deployLog.get().type() != Type.NIX ? deployLog.get() : deployLog.setObject();
+ root.setString("tenant", tenantName.value());
+ root.setString("activate", "http://" + request.getHost() + ":" + request.getPort() +
"/application/v2/tenant/" + tenantName.value() + "/session/" + sessionId + "/active");
- root.setString("message", message);
+ root.setString("message", "Session " + sessionId + " for tenant '" + tenantName.value() + "' prepared.");
new ConfigChangeActionsSlimeConverter(actions).toSlime(root);
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
index e2eeb68a565..748c43bafeb 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
@@ -8,18 +8,17 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import java.time.Clock;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationName;
import com.yahoo.config.provision.InstanceName;
import com.yahoo.config.provision.TenantName;
+import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.SessionHandlerTest;
-import com.yahoo.vespa.config.server.http.SessionResponse;
import com.yahoo.vespa.config.server.session.PrepareParams;
import com.yahoo.vespa.config.server.tenant.Tenant;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
@@ -157,7 +156,7 @@ public class TenantHandlerTest {
return (TenantCreateResponse) handler.handlePUT(testRequest);
}
- private void assertResponseEquals(SessionResponse response, String payload) throws IOException {
+ private void assertResponseEquals(HttpResponse response, String payload) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
response.render(baos);
assertEquals(baos.toString(StandardCharsets.UTF_8), payload);
diff --git a/container-core/src/main/java/com/yahoo/restapi/SlimeJsonResponse.java b/container-core/src/main/java/com/yahoo/restapi/SlimeJsonResponse.java
index 2473da3578d..a0f8b58fb6a 100644
--- a/container-core/src/main/java/com/yahoo/restapi/SlimeJsonResponse.java
+++ b/container-core/src/main/java/com/yahoo/restapi/SlimeJsonResponse.java
@@ -15,7 +15,11 @@ import java.io.OutputStream;
*/
public class SlimeJsonResponse extends HttpResponse {
- private final Slime slime;
+ protected final Slime slime;
+
+ public SlimeJsonResponse() {
+ this(new Slime());
+ }
public SlimeJsonResponse(Slime slime) {
super(200);