diff options
author | freva <valerijf@yahoo-inc.com> | 2017-02-28 09:32:24 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2017-02-28 09:32:24 +0100 |
commit | d290a903e2d2bbb31244c029b02b82e14f92c5fc (patch) | |
tree | 14e4406e212af6a8362119b89e75779ffd2bac33 /node-repository | |
parent | 18214930d840fcd3c91c3f51f763082b0f82cf99 (diff) |
Simplify not isPresent() throw to use orElseThrow()
Diffstat (limited to 'node-repository')
4 files changed, 10 insertions, 18 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java index b917326a7c2..59f24c01a91 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java @@ -315,12 +315,12 @@ public class NodeRepository extends AbstractComponent { * @throws IllegalArgumentException if the node has hardware failure */ public Node setDirty(String hostname) { - Optional<Node> nodeToDirty = getNode(hostname, Node.State.provisioned, Node.State.failed, Node.State.parked); - if ( ! nodeToDirty.isPresent()) - throw new IllegalArgumentException("Could not deallocate " + hostname + ": No such node in the provisioned, failed or parked state"); - if (nodeToDirty.get().status().hardwareFailure().isPresent()) + Node nodeToDirty = getNode(hostname, Node.State.provisioned, Node.State.failed, Node.State.parked).orElseThrow(() -> + new IllegalArgumentException("Could not deallocate " + hostname + ": No such node in the provisioned, failed or parked state")); + + if (nodeToDirty.status().hardwareFailure().isPresent()) throw new IllegalArgumentException("Could not deallocate " + hostname + ": It has a hardware failure"); - return setDirty(Collections.singletonList(nodeToDirty.get())).get(0); + return setDirty(Collections.singletonList(nodeToDirty)).get(0); } /** diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/MessageResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/MessageResponse.java index 0c91efa823b..2ae78ba16fa 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/MessageResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/MessageResponse.java @@ -2,18 +2,12 @@ package com.yahoo.vespa.hosted.provision.restapi.v2; 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.Response.Status.BAD_REQUEST; -import static com.yahoo.jdisc.Response.Status.INTERNAL_SERVER_ERROR; -import static com.yahoo.jdisc.Response.Status.METHOD_NOT_ALLOWED; -import static com.yahoo.jdisc.Response.Status.NOT_FOUND; - /** * A 200 ok response with a message in JSON * diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java index 969a9d8475c..850d7a4a784 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java @@ -166,9 +166,8 @@ public class NodesApiHandler extends LoggingRequestHandler { if (endIndex < 0) endIndex = path.length(); // path ends by ip String hostname = path.substring(beginIndex, endIndex); - Optional<Node> node = nodeRepository.getNode(hostname); - if ( ! node.isPresent()) throw new NotFoundException("No node found with hostname " + hostname); - return node.get(); + return nodeRepository.getNode(hostname).orElseThrow(() -> + new NotFoundException("No node found with hostname " + hostname)); } public int addNodes(InputStream jsonStream) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java index 009efd68cf6..ae77b95c40c 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java @@ -123,10 +123,9 @@ class NodesResponse extends HttpResponse { } private void nodeToSlime(String hostname, Cursor object) { - Optional<Node> node = nodeRepository.getNode(hostname); - if (! node.isPresent()) - throw new NotFoundException("No node with hostname '" + hostname + "'"); - toSlime(node.get(), true, object); + Node node = nodeRepository.getNode(hostname).orElseThrow(() -> + new NotFoundException("No node with hostname '" + hostname + "'")); + toSlime(node, true, object); } private void toSlime(Node node, boolean allFields, Cursor object) { |