summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaka <tc012c@att.com>2018-02-10 15:48:24 -0500
committerPatrick Brady <pb071s@att.com>2018-02-14 17:01:38 +0000
commitcc26209ff5fbe036caf0dde162ff6079bd58bd9d (patch)
treeeca42cc625380f63bce5379b5103efa245546e2c
parent63ea0bb7032ce7f38259c470eb3553eae10eceec (diff)
refactor AnsibleMessageParser for nesting try
Change-Id: Idd86134a034d5f49baff34fd0d056820f45e1121 Issue-ID: APPC-596 Signed-off-by: Taka <tc012c@att.com>
-rw-r--r--appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/main/java/org/onap/appc/adapter/ansible/model/AnsibleMessageParser.java115
1 files changed, 58 insertions, 57 deletions
diff --git a/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/main/java/org/onap/appc/adapter/ansible/model/AnsibleMessageParser.java b/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/main/java/org/onap/appc/adapter/ansible/model/AnsibleMessageParser.java
index c11966860..0e19384e6 100644
--- a/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/main/java/org/onap/appc/adapter/ansible/model/AnsibleMessageParser.java
+++ b/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/main/java/org/onap/appc/adapter/ansible/model/AnsibleMessageParser.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* =============================================================================
@@ -178,76 +178,77 @@ public class AnsibleMessageParser {
public AnsibleResult parseGetResponse(String input) throws APPCException {
AnsibleResult ansibleResult = new AnsibleResult();
- int finalCode = AnsibleResultCodes.FINAL_SUCCESS.getValue();
try {
JSONObject postResponse = new JSONObject(input);
+ ansibleResult = parseGetResponseNested(ansibleResult, postResponse);
+ } catch (JSONException e) {
+ ansibleResult = new AnsibleResult(AnsibleResultCodes.INVALID_PAYLOAD.getValue(),
+ "Error parsing response = " + input + ". Error = " + e.getMessage(), "");
+ }
+ return ansibleResult;
+ }
- int codeStatus = postResponse.getInt(STATUS_CODE_KEY);
- String messageStatus = postResponse.getString(STATUS_MESSAGE_KEY);
+ private AnsibleResult parseGetResponseNested(AnsibleResult ansibleResult, JSONObject postRsp) throws APPCException {
- boolean valCode =
- AnsibleResultCodes.CODE.checkValidCode(AnsibleResultCodes.FINALRESPONSE.getValue(), codeStatus);
+ int codeStatus = postRsp.getInt(STATUS_CODE_KEY);
+ String messageStatus = postRsp.getString(STATUS_MESSAGE_KEY);
+ int finalCode = AnsibleResultCodes.FINAL_SUCCESS.getValue();
- if (!valCode) {
- throw new APPCException("Invalid FinalResponse code = " + codeStatus + " received. MUST be one of "
- + AnsibleResultCodes.CODE.getValidCodes(AnsibleResultCodes.FINALRESPONSE.getValue()));
- }
+ boolean valCode =
+ AnsibleResultCodes.CODE.checkValidCode(AnsibleResultCodes.FINALRESPONSE.getValue(), codeStatus);
- ansibleResult.setStatusCode(codeStatus);
- ansibleResult.setStatusMessage(messageStatus);
- LOGGER.info("Received response with code = {}, Message = {}", codeStatus, messageStatus);
-
- if (!postResponse.isNull("Results")) {
-
- // Results are available. process them
- // Results is a dictionary of the form
- // {host :{status:s, group:g, message:m, hostname:h}, ...}
- LOGGER.info("Processing results in response");
- JSONObject results = postResponse.getJSONObject("Results");
- LOGGER.info("Get JSON dictionary from Results ..");
- Iterator<String> hosts = results.keys();
- LOGGER.info("Iterating through hosts");
-
- while (hosts.hasNext()) {
- String host = hosts.next();
- LOGGER.info("Processing host = {}", host);
-
- try {
- JSONObject hostResponse = results.getJSONObject(host);
- int subCode = hostResponse.getInt(STATUS_CODE_KEY);
- String message = hostResponse.getString(STATUS_MESSAGE_KEY);
-
- LOGGER.info("Code = {}, Message = {}", subCode, message);
-
- if (subCode != 200 || !message.equals("SUCCESS")) {
- finalCode = AnsibleResultCodes.REQ_FAILURE.getValue();
- }
- } catch (JSONException e) {
- ansibleResult.setStatusCode(AnsibleResultCodes.INVALID_RESPONSE.getValue());
- ansibleResult.setStatusMessage(String.format(
- "Error processing response message = %s from host %s", results.getString(host), host));
- break;
- }
- }
+ if (!valCode) {
+ throw new APPCException("Invalid FinalResponse code = " + codeStatus + " received. MUST be one of "
+ + AnsibleResultCodes.CODE.getValidCodes(AnsibleResultCodes.FINALRESPONSE.getValue()));
+ }
- ansibleResult.setStatusCode(finalCode);
+ ansibleResult.setStatusCode(codeStatus);
+ ansibleResult.setStatusMessage(messageStatus);
+ LOGGER.info("Received response with code = {}, Message = {}", codeStatus, messageStatus);
- // We return entire Results object as message
- ansibleResult.setResults(results.toString());
+ if (!postRsp.isNull("Results")) {
- } else {
- ansibleResult.setStatusCode(AnsibleResultCodes.INVALID_RESPONSE.getValue());
- ansibleResult.setStatusMessage("Results not found in GET for response");
- }
+ // Results are available. process them
+ // Results is a dictionary of the form
+ // {host :{status:s, group:g, message:m, hostname:h}, ...}
+ LOGGER.info("Processing results in response");
+ JSONObject results = postRsp.getJSONObject("Results");
+ LOGGER.info("Get JSON dictionary from Results ..");
+ Iterator<String> hosts = results.keys();
+ LOGGER.info("Iterating through hosts");
+ while (hosts.hasNext()) {
+ String host = hosts.next();
+ LOGGER.info("Processing host = {}", host);
- } catch (JSONException e) {
- ansibleResult = new AnsibleResult(AnsibleResultCodes.INVALID_PAYLOAD.getValue(),
- "Error parsing response = " + input + ". Error = " + e.getMessage(), "");
- }
+ try {
+ JSONObject hostResponse = results.getJSONObject(host);
+ int subCode = hostResponse.getInt(STATUS_CODE_KEY);
+ String message = hostResponse.getString(STATUS_MESSAGE_KEY);
+
+ LOGGER.info("Code = {}, Message = {}", subCode, message);
+ if (subCode != 200 || !message.equals("SUCCESS")) {
+ finalCode = AnsibleResultCodes.REQ_FAILURE.getValue();
+ }
+ } catch (JSONException e) {
+ ansibleResult.setStatusCode(AnsibleResultCodes.INVALID_RESPONSE.getValue());
+ ansibleResult.setStatusMessage(String.format(
+ "Error processing response message = %s from host %s", results.getString(host), host));
+ break;
+ }
+ }
+ ansibleResult.setStatusCode(finalCode);
+
+ // We return entire Results object as message
+ ansibleResult.setResults(results.toString());
+
+ } else {
+ ansibleResult.setStatusCode(AnsibleResultCodes.INVALID_RESPONSE.getValue());
+ ansibleResult.setStatusMessage("Results not found in GET for response");
+ }
return ansibleResult;
}