diff options
Diffstat (limited to 'clustercontroller-utils/src/main/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/server/JsonReader.java')
-rw-r--r-- | clustercontroller-utils/src/main/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/server/JsonReader.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/clustercontroller-utils/src/main/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/server/JsonReader.java b/clustercontroller-utils/src/main/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/server/JsonReader.java index f5ab406179b..04dcb582389 100644 --- a/clustercontroller-utils/src/main/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/server/JsonReader.java +++ b/clustercontroller-utils/src/main/java/com/yahoo/vespa/clustercontroller/utils/staterestapi/server/JsonReader.java @@ -35,9 +35,12 @@ public class JsonReader { static class SetRequestData { final Map<String, UnitState> stateMap; final SetUnitStateRequest.Condition condition; - public SetRequestData(Map<String, UnitState> stateMap, SetUnitStateRequest.Condition condition) { + final SetUnitStateRequest.ResponseWait responseWait; + public SetRequestData(Map<String, UnitState> stateMap, SetUnitStateRequest.Condition condition, + SetUnitStateRequest.ResponseWait responseWait) { this.stateMap = stateMap; this.condition = condition; + this.responseWait = responseWait; } } @@ -47,11 +50,15 @@ public class JsonReader { final SetUnitStateRequest.Condition condition; if (json.has("condition")) { - condition = SetUnitStateRequest.Condition.valueOf(json.getString("condition")); + condition = SetUnitStateRequest.Condition.fromString(json.getString("condition")); } else { condition = SetUnitStateRequest.Condition.FORCE; } + final SetUnitStateRequest.ResponseWait responseWait = json.has("response-wait") + ? SetUnitStateRequest.ResponseWait.fromString(json.getString("response-wait")) + : SetUnitStateRequest.ResponseWait.WAIT_UNTIL_CLUSTER_ACKED; + Map<String, UnitState> stateMap = new HashMap<>(); if (!json.has("state")) { throw new InvalidContentException("Set state requests must contain a state object"); @@ -90,7 +97,7 @@ public class JsonReader { } stateMap.put(type, new UnitStateImpl(code, reason)); } - return new SetRequestData(stateMap, condition); + return new SetRequestData(stateMap, condition, responseWait); } } |