/*-
* ============LICENSE_START=======================================================
- * OPENECOMP - MSO
+ * ONAP - SO
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* ================================================================================
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;
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;
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();
}
if(response!=null){
responseBody = response.getResponse();
}
- msoLogger.debug("response body is: " + responseBody);
+ msoLogger.debug(RESPONSE_BODY_MSG + responseBody);
if(status!=HttpStatus.SC_ACCEPTED){
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){
}
}
+ 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;
}
return status;
}
-
-
-
}