summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2021-07-06 09:59:18 +0200
committerValerij Fredriksen <valerij92@gmail.com>2021-07-06 09:59:18 +0200
commit85fecfc6ee020f05b5b77141a120dfc5179434a9 (patch)
tree72e9e9bf239734b958761e49f47c01ae6be4e186 /configserver
parent0a0e29113ef1c68119f960f5d0ef766493bc34a1 (diff)
Move response classes to upper level
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java74
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationSuspendedResponse.java11
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/DeleteApplicationResponse.java11
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/GetApplicationResponse.java18
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/QuotaUsageResponse.java11
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ReindexingResponse.java51
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java1
7 files changed, 102 insertions, 75 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java
index 3634a6825a3..ba70c34d192 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java
@@ -20,8 +20,6 @@ import com.yahoo.slime.Cursor;
import com.yahoo.slime.SlimeUtils;
import com.yahoo.text.StringUtilities;
import com.yahoo.vespa.config.server.ApplicationRepository;
-import com.yahoo.vespa.config.server.application.ApplicationReindexing;
-import com.yahoo.vespa.config.server.application.ClusterReindexing;
import com.yahoo.vespa.config.server.http.ContentHandler;
import com.yahoo.vespa.config.server.http.ContentRequest;
import com.yahoo.vespa.config.server.http.HttpErrorResponse;
@@ -453,78 +451,6 @@ public class ApplicationHandler extends HttpHandler {
: Optional.of(Version.fromString(vespaVersion));
}
- private static class DeleteApplicationResponse extends JSONResponse {
- DeleteApplicationResponse(int status, ApplicationId applicationId) {
- super(status);
- object.setString("message", "Application '" + applicationId + "' deleted");
- }
- }
-
- private static class GetApplicationResponse extends JSONResponse {
- GetApplicationResponse(int status, long generation, List<Version> modelVersions, Optional<String> applicationPackageReference) {
- super(status);
- object.setLong("generation", generation);
- object.setString("applicationPackageFileReference", applicationPackageReference.orElse(""));
- Cursor modelVersionArray = object.setArray("modelVersions");
- modelVersions.forEach(version -> modelVersionArray.addString(version.toFullString()));
- }
- }
-
- private static class ApplicationSuspendedResponse extends JSONResponse {
- ApplicationSuspendedResponse(boolean suspended) {
- super(Response.Status.OK);
- object.setBool("suspended", suspended);
- }
- }
-
- private static class QuotaUsageResponse extends JSONResponse {
- QuotaUsageResponse(double usageRate) {
- super(Response.Status.OK);
- object.setDouble("rate", usageRate);
- }
- }
-
- static class ReindexingResponse extends JSONResponse {
- ReindexingResponse(Map<String, Set<String>> documentTypes, ApplicationReindexing reindexing,
- Map<String, ClusterReindexing> clusters) {
- super(Response.Status.OK);
- object.setBool("enabled", reindexing.enabled());
- Cursor clustersObject = object.setObject("clusters");
- documentTypes.forEach((cluster, types) -> {
- Cursor clusterObject = clustersObject.setObject(cluster);
- Cursor pendingObject = clusterObject.setObject("pending");
- Cursor readyObject = clusterObject.setObject("ready");
-
- for (String type : types) {
- Cursor statusObject = readyObject.setObject(type);
- if (reindexing.clusters().containsKey(cluster)) {
- if (reindexing.clusters().get(cluster).pending().containsKey(type))
- pendingObject.setLong(type, reindexing.clusters().get(cluster).pending().get(type));
-
- if (reindexing.clusters().get(cluster).ready().containsKey(type))
- setStatus(statusObject, reindexing.clusters().get(cluster).ready().get(type));
- }
- if (clusters.containsKey(cluster))
- if (clusters.get(cluster).documentTypeStatus().containsKey(type))
- setStatus(statusObject, clusters.get(cluster).documentTypeStatus().get(type));
- }
- });
- }
-
- private static void setStatus(Cursor object, ApplicationReindexing.Status readyStatus) {
- object.setLong("readyMillis", readyStatus.ready().toEpochMilli());
- }
-
- private static void setStatus(Cursor object, ClusterReindexing.Status status) {
- object.setLong("startedMillis", status.startedAt().toEpochMilli());
- status.endedAt().ifPresent(endedAt -> object.setLong("endedMillis", endedAt.toEpochMilli()));
- status.state().map(ClusterReindexing.State::asString).ifPresent(state -> object.setString("state", state));
- status.message().ifPresent(message -> object.setString("message", message));
- status.progress().ifPresent(progress -> object.setDouble("progress", progress));
- }
-
- }
-
private static JSONResponse createMessageResponse(String message) {
return new JSONResponse(Response.Status.OK) { { object.setString("message", message); } };
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationSuspendedResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationSuspendedResponse.java
new file mode 100644
index 00000000000..a339357c732
--- /dev/null
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationSuspendedResponse.java
@@ -0,0 +1,11 @@
+package com.yahoo.vespa.config.server.http.v2;
+
+import com.yahoo.jdisc.Response;
+import com.yahoo.vespa.config.server.http.JSONResponse;
+
+class ApplicationSuspendedResponse extends JSONResponse {
+ ApplicationSuspendedResponse(boolean suspended) {
+ super(Response.Status.OK);
+ object.setBool("suspended", suspended);
+ }
+}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/DeleteApplicationResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/DeleteApplicationResponse.java
new file mode 100644
index 00000000000..2a0f785c60a
--- /dev/null
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/DeleteApplicationResponse.java
@@ -0,0 +1,11 @@
+package com.yahoo.vespa.config.server.http.v2;
+
+import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.vespa.config.server.http.JSONResponse;
+
+class DeleteApplicationResponse extends JSONResponse {
+ DeleteApplicationResponse(int status, ApplicationId applicationId) {
+ super(status);
+ object.setString("message", "Application '" + applicationId + "' deleted");
+ }
+}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/GetApplicationResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/GetApplicationResponse.java
new file mode 100644
index 00000000000..371154cf8d6
--- /dev/null
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/GetApplicationResponse.java
@@ -0,0 +1,18 @@
+package com.yahoo.vespa.config.server.http.v2;
+
+import com.yahoo.component.Version;
+import com.yahoo.slime.Cursor;
+import com.yahoo.vespa.config.server.http.JSONResponse;
+
+import java.util.List;
+import java.util.Optional;
+
+class GetApplicationResponse extends JSONResponse {
+ GetApplicationResponse(int status, long generation, List<Version> modelVersions, Optional<String> applicationPackageReference) {
+ super(status);
+ object.setLong("generation", generation);
+ object.setString("applicationPackageFileReference", applicationPackageReference.orElse(""));
+ Cursor modelVersionArray = object.setArray("modelVersions");
+ modelVersions.forEach(version -> modelVersionArray.addString(version.toFullString()));
+ }
+}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/QuotaUsageResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/QuotaUsageResponse.java
new file mode 100644
index 00000000000..cfb14bd0887
--- /dev/null
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/QuotaUsageResponse.java
@@ -0,0 +1,11 @@
+package com.yahoo.vespa.config.server.http.v2;
+
+import com.yahoo.jdisc.Response;
+import com.yahoo.vespa.config.server.http.JSONResponse;
+
+class QuotaUsageResponse extends JSONResponse {
+ QuotaUsageResponse(double usageRate) {
+ super(Response.Status.OK);
+ object.setDouble("rate", usageRate);
+ }
+}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ReindexingResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ReindexingResponse.java
new file mode 100644
index 00000000000..c7558d5a76a
--- /dev/null
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ReindexingResponse.java
@@ -0,0 +1,51 @@
+package com.yahoo.vespa.config.server.http.v2;
+
+import com.yahoo.jdisc.Response;
+import com.yahoo.slime.Cursor;
+import com.yahoo.vespa.config.server.application.ApplicationReindexing;
+import com.yahoo.vespa.config.server.application.ClusterReindexing;
+import com.yahoo.vespa.config.server.http.JSONResponse;
+
+import java.util.Map;
+import java.util.Set;
+
+class ReindexingResponse extends JSONResponse {
+ ReindexingResponse(Map<String, Set<String>> documentTypes, ApplicationReindexing reindexing,
+ Map<String, ClusterReindexing> clusters) {
+ super(Response.Status.OK);
+ object.setBool("enabled", reindexing.enabled());
+ Cursor clustersObject = object.setObject("clusters");
+ documentTypes.forEach((cluster, types) -> {
+ Cursor clusterObject = clustersObject.setObject(cluster);
+ Cursor pendingObject = clusterObject.setObject("pending");
+ Cursor readyObject = clusterObject.setObject("ready");
+
+ for (String type : types) {
+ Cursor statusObject = readyObject.setObject(type);
+ if (reindexing.clusters().containsKey(cluster)) {
+ if (reindexing.clusters().get(cluster).pending().containsKey(type))
+ pendingObject.setLong(type, reindexing.clusters().get(cluster).pending().get(type));
+
+ if (reindexing.clusters().get(cluster).ready().containsKey(type))
+ setStatus(statusObject, reindexing.clusters().get(cluster).ready().get(type));
+ }
+ if (clusters.containsKey(cluster))
+ if (clusters.get(cluster).documentTypeStatus().containsKey(type))
+ setStatus(statusObject, clusters.get(cluster).documentTypeStatus().get(type));
+ }
+ });
+ }
+
+ private static void setStatus(Cursor object, ApplicationReindexing.Status readyStatus) {
+ object.setLong("readyMillis", readyStatus.ready().toEpochMilli());
+ }
+
+ private static void setStatus(Cursor object, ClusterReindexing.Status status) {
+ object.setLong("startedMillis", status.startedAt().toEpochMilli());
+ status.endedAt().ifPresent(endedAt -> object.setLong("endedMillis", endedAt.toEpochMilli()));
+ status.state().map(ClusterReindexing.State::asString).ifPresent(state -> object.setString("state", state));
+ status.message().ifPresent(message -> object.setString("message", message));
+ status.progress().ifPresent(progress -> object.setDouble("progress", progress));
+ }
+
+}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
index 22a5b3795d9..2501bc6dc6d 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
@@ -32,7 +32,6 @@ import com.yahoo.vespa.config.server.http.HttpErrorResponse;
import com.yahoo.vespa.config.server.http.SecretStoreValidator;
import com.yahoo.vespa.config.server.http.SessionHandlerTest;
import com.yahoo.vespa.config.server.http.StaticResponse;
-import com.yahoo.vespa.config.server.http.v2.ApplicationHandler.ReindexingResponse;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.provision.HostProvisionerProvider;
import com.yahoo.vespa.config.server.session.PrepareParams;