diff options
Diffstat (limited to 'vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java')
-rw-r--r-- | vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java new file mode 100644 index 00000000000..3ed1f42ca14 --- /dev/null +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java @@ -0,0 +1,33 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.documentapi.metrics; + +import com.yahoo.document.restapi.OperationHandlerImpl; + +import java.util.Set; + +/** + * @author freva + */ +public enum DocumentOperationStatus { + OK, CLIENT_ERROR, SERVER_ERROR; + + public static DocumentOperationStatus fromHttpStatusCode(int httpStatus) { + switch (httpStatus / 100) { + case 2: + return OK; + + case 4: + return CLIENT_ERROR; + + case 5: + return SERVER_ERROR; + + default: + return null; + } + } + + public static DocumentOperationStatus fromMessageBusErrorCodes(Set<Integer> errorCodes) { + return fromHttpStatusCode(OperationHandlerImpl.getHTTPStatusCode(errorCodes)); + } +} |