Merge "Remove unneeded param type definition"
[so.git] / mso-api-handlers / mso-api-handler-common / src / main / java / org / openecomp / mso / apihandler / common / ResponseHandler.java
index 2edf686..732b778 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ============LICENSE_START=======================================================
- * OPENECOMP - MSO
+ * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
@@ -27,7 +27,7 @@ import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.util.EntityUtils;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 
 import org.openecomp.mso.apihandler.camundabeans.CamundaResponse;
 import org.openecomp.mso.logger.MsoLogger;
@@ -41,6 +41,7 @@ public class ResponseHandler {
        private HttpResponse httpResponse;
        private int type;
        private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.APIH);
+    private static final String RESPONSE_BODY_MSG = "response body is: ";
 
        public ResponseHandler(HttpResponse httpResponse, int type) {
                this.httpResponse = httpResponse;
@@ -51,12 +52,14 @@ public class ResponseHandler {
 
        private void parseResponse() {
                int statusCode = httpResponse.getStatusLine().getStatusCode();
-               msoLogger.debug("Returned status  is: " + statusCode);
+               msoLogger.debug("Returned status  is: " + statusCode);          
                status = setStatus(statusCode);
                msoLogger.debug("Parsed status  is: " + status);
                if(type==CommonConstants.CAMUNDA){
                        parseCamunda();
-               }else{
+               }else if(type==CommonConstants.CAMUNDATASK){
+                       parseCamundaTask();
+               }else {
                        parseBpel();
                }
                
@@ -82,7 +85,7 @@ public class ResponseHandler {
                        if(response!=null){
                                responseBody = response.getResponse();
                        }
-                       msoLogger.debug("response body is: " + responseBody);
+                       msoLogger.debug(RESPONSE_BODY_MSG + responseBody);
                        
                
                if(status!=HttpStatus.SC_ACCEPTED){
@@ -97,7 +100,7 @@ public class ResponseHandler {
                try {
                        if (bpelEntity!=null) {
                                responseBody = EntityUtils.toString(bpelEntity);
-                               msoLogger.debug("response body is: " + responseBody);
+                               msoLogger.debug(RESPONSE_BODY_MSG + responseBody);
 
                        }
                        if(status!=HttpStatus.SC_ACCEPTED){
@@ -109,37 +112,56 @@ public class ResponseHandler {
                }
        }
        
+       private void parseCamundaTask(){
 
+               HttpEntity camundataskEntity = httpResponse.getEntity();
 
+               try {
+                       if (camundataskEntity!=null) {
+                               responseBody = EntityUtils.toString(camundataskEntity);
+                               msoLogger.debug(RESPONSE_BODY_MSG + responseBody);
+
+                       }
+                       if(status!=HttpStatus.SC_NO_CONTENT && status != HttpStatus.SC_ACCEPTED){
+                               msoLogger.error(MessageEnum.APIH_ERROR_FROM_BPEL_SERVER, "CAMUNDATASK", String.valueOf(status), responseBody, "CAMUNDATASK", "parseCamundaTask", MsoLogger.ErrorCode.BusinessProcesssError, "Error in APIH from Camunda Task");
+                       }
+               } 
+               catch (IOException e) {
+                       msoLogger.debug("IOException getting Camunda Task response body", e);
+               }
+       }
 
        private int setStatus(int statusCode){
-               int status = 0;
+               int httpStatus;
                switch(statusCode) {
                case HttpStatus.SC_ACCEPTED:
-               case HttpStatus.SC_OK:
-                       status = HttpStatus.SC_ACCEPTED;
+               case HttpStatus.SC_OK:          
+                       httpStatus = HttpStatus.SC_ACCEPTED;
                        break;
                case HttpStatus.SC_BAD_REQUEST:
-                       status = HttpStatus.SC_BAD_REQUEST;
+                       httpStatus = HttpStatus.SC_BAD_REQUEST;
                        break;
                case HttpStatus.SC_UNAUTHORIZED:
                case HttpStatus.SC_FORBIDDEN:
-                       status = HttpStatus.SC_INTERNAL_SERVER_ERROR;
+                       httpStatus = HttpStatus.SC_INTERNAL_SERVER_ERROR;
                        break;
                case HttpStatus.SC_NOT_FOUND:
-                       status = HttpStatus.SC_NOT_IMPLEMENTED;
+                       httpStatus = HttpStatus.SC_NOT_IMPLEMENTED;
                        break;
                case HttpStatus.SC_INTERNAL_SERVER_ERROR:
-                       status = HttpStatus.SC_BAD_GATEWAY;
+                       httpStatus = HttpStatus.SC_BAD_GATEWAY;
                        break;
                case HttpStatus.SC_SERVICE_UNAVAILABLE:
-                       status = HttpStatus.SC_SERVICE_UNAVAILABLE;
+                       httpStatus = HttpStatus.SC_SERVICE_UNAVAILABLE;
+                       break;
+               case HttpStatus.SC_NO_CONTENT:
+                       httpStatus = HttpStatus.SC_NO_CONTENT;
                        break;
                default:
-                       status = HttpStatus.SC_INTERNAL_SERVER_ERROR;
+                       httpStatus = HttpStatus.SC_INTERNAL_SERVER_ERROR;
                        break;
                }
-               return status;
+               return httpStatus;
        }
 
 
@@ -167,7 +189,4 @@ public class ResponseHandler {
                return status;
        }
 
-
-
-
 }