diff options
author | Valerij Fredriksen <valerij92@gmail.com> | 2021-02-18 16:02:07 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerij92@gmail.com> | 2021-02-18 16:02:07 +0100 |
commit | 7df30aeb447d37347fc138151dd0c0fa11e07cf8 (patch) | |
tree | 7d76ed2c1bd5f723397fbd1b6b0dea4921f20144 /node-repository | |
parent | 5b35f35f8a300e467689e956a535a8551b7272b0 (diff) |
Simplify by extending SlimeJsonResponse
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java index 1175736e517..19895c845e5 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java @@ -8,10 +8,8 @@ import com.yahoo.config.provision.Flavor; import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.serialization.NetworkPortsSerializer; import com.yahoo.container.jdisc.HttpRequest; -import com.yahoo.container.jdisc.HttpResponse; +import com.yahoo.restapi.SlimeJsonResponse; import com.yahoo.slime.Cursor; -import com.yahoo.slime.JsonFormat; -import com.yahoo.slime.Slime; import com.yahoo.vespa.applicationmodel.HostName; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; @@ -22,8 +20,6 @@ import com.yahoo.vespa.orchestrator.Orchestrator; import com.yahoo.vespa.orchestrator.status.HostInfo; import com.yahoo.vespa.orchestrator.status.HostStatus; -import java.io.IOException; -import java.io.OutputStream; import java.net.URI; import java.util.List; import java.util.Optional; @@ -33,7 +29,7 @@ import java.util.function.Function; /** * @author bratseth */ -class NodesResponse extends HttpResponse { +class NodesResponse extends SlimeJsonResponse { /** The responses this can create */ public enum ResponseType { nodeList, stateList, nodesInStateList, singleNode } @@ -48,19 +44,16 @@ class NodesResponse extends HttpResponse { private final boolean recursive; private final Function<HostName, Optional<HostInfo>> orchestrator; private final NodeRepository nodeRepository; - private final Slime slime; public NodesResponse(ResponseType responseType, HttpRequest request, Orchestrator orchestrator, NodeRepository nodeRepository) { - super(200); this.parentUrl = toParentUrl(request); this.nodeParentUrl = toNodeParentUrl(request); - filter = NodesV2ApiHandler.toNodeFilter(request); + this.filter = NodesV2ApiHandler.toNodeFilter(request); this.recursive = request.getBooleanProperty("recursive"); this.orchestrator = orchestrator.getHostResolver(); this.nodeRepository = nodeRepository; - slime = new Slime(); Cursor root = slime.setObject(); switch (responseType) { case nodeList: nodesToSlime(root); break; @@ -84,16 +77,6 @@ class NodesResponse extends HttpResponse { return uri.getScheme() + "://" + uri.getHost() + ":" + uri.getPort() + "/nodes/v2/node/"; } - @Override - public void render(OutputStream stream) throws IOException { - new JsonFormat(true).encode(stream, slime); - } - - @Override - public String getContentType() { - return "application/json"; - } - private void statesToSlime(Cursor root) { Cursor states = root.setObject("states"); for (Node.State state : Node.State.values()) |