2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.controlloop.policy;
23 public enum FinalResult {
25 * The Control Loop Policy successfully completed its Operations.
27 FINAL_SUCCESS("Final_Success"),
29 * The Control Loop Policy was an Open Loop and is finished.
31 FINAL_OPENLOOP("Final_OpenLoop"),
33 * The Control Loop Policy failed in its last Operation Policy.
34 * NOTE: Previous Operation Policies may have been successful.
36 FINAL_FAILURE("Final_Failure"),
38 * The Control Loop Policy failed because the overall timeout was met.
40 FINAL_FAILURE_TIMEOUT("Final_Failure_Timeout"),
42 * The Control Loop Policy failed because an Operation Policy met its retry limit.
44 FINAL_FAILURE_RETRIES("Final_Failure_Retries"),
46 * The Control Loop Policy failed due to an exception.
48 FINAL_FAILURE_EXCEPTION("Final_Failure_Exception"),
50 * The Control Loop Policy failed due to guard denied.
52 FINAL_FAILURE_GUARD("Final_Failure_Guard")
57 private FinalResult(String result) {
62 * Converts to a result object.
64 * @param result input string
65 * @return result object
67 public static FinalResult toResult(String result) {
68 if (result.equalsIgnoreCase(FINAL_SUCCESS.toString())) {
71 if (result.equalsIgnoreCase(FINAL_OPENLOOP.toString())) {
72 return FINAL_OPENLOOP;
74 if (result.equalsIgnoreCase(FINAL_FAILURE.toString())) {
77 if (result.equalsIgnoreCase(FINAL_FAILURE_TIMEOUT.toString())) {
78 return FINAL_FAILURE_TIMEOUT;
80 if (result.equalsIgnoreCase(FINAL_FAILURE_RETRIES.toString())) {
81 return FINAL_FAILURE_RETRIES;
83 if (result.equalsIgnoreCase(FINAL_FAILURE_EXCEPTION.toString())) {
84 return FINAL_FAILURE_EXCEPTION;
86 if (result.equalsIgnoreCase(FINAL_FAILURE_GUARD.toString())) {
87 return FINAL_FAILURE_GUARD;
93 * Check if the result really is a result.
95 * @param result string
96 * @param finalResult result object
97 * @return true if a result
99 public static boolean isResult(String result, FinalResult finalResult) {
100 FinalResult toResult = FinalResult.toResult(result);
101 if (toResult == null) {
104 return toResult.equals(finalResult);