diff options
Diffstat (limited to 'activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java')
-rw-r--r-- | activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java | 120 |
1 files changed, 65 insertions, 55 deletions
diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java index 9171c31..25dc873 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java @@ -1,79 +1,89 @@ /** - * Copyright 2017 ZTE Corporation. + * Copyright 2017 [ZTE] and others. * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. */ package org.onap.workflow.activitiext.restservicetask; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpMethod; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.alibaba.fastjson.JSON; /** - * This static-class eases HTTP-method execution by self-managed fault-handling and automated - * Response-information processing + * This static-class eases HTTP-method execution by self-managed fault-handling + * and automated Response-information processing */ public class LowLevelRestApi { - // Local HttpClient used for every communication (Singleton implementation) - private static HttpClient httpClient = new HttpClient(); - - - /** - * Executes a passed HttpMethod (Method type is either PUT, POST, GET or DELETE) and returns a - * HttpResponseMessage - * - * @param method Method to execute - * @return HttpResponseMessage which contains all information about the execution - */ - public static HttpResponseMessage executeHttpMethod(HttpMethod method) { + private static final Logger logger = LoggerFactory.getLogger(LowLevelRestApi.class); - HttpResponseMessage responseMessage = null; + // Local HttpClient used for every communication (Singleton implementation) + private static HttpClient httpClient = new HttpClient(); - try { + /** + * Executes a passed HttpMethod (Method type is either PUT, POST, GET or + * DELETE) and returns a HttpResponseMessage + * + * @param method + * Method to execute + * @return HttpResponseMessage which contains all information about the + * execution + */ + public static HttpResponseMessage executeHttpMethod(HttpMethod method) throws Exception { - // Execute Request - LowLevelRestApi.httpClient.executeMethod(method); - responseMessage = LowLevelRestApi.extractResponseInformation(method); + HttpResponseMessage responseMessage = null; - } catch (Exception e) { - e.printStackTrace(); - } finally { + try { - // Release Connection anyway - method.releaseConnection(); - } + // Execute Request + LowLevelRestApi.httpClient.executeMethod(method); + responseMessage = LowLevelRestApi.extractResponseInformation(method); + + logger.info("statusCode: {}", method.getStatusCode()); + logger.info("responseBody: {}", method.getResponseBodyAsString()); + } catch (Exception e) { + logger.error("visit interface failed!", e); + throw e; + } finally { - // Extract response information and return - return responseMessage; - } + // Release Connection anyway + method.releaseConnection(); + } - /** - * Extracts the response information from an executed HttpMethod - * - * @param method Executed Method - * @return Packaged response information - */ - private static HttpResponseMessage extractResponseInformation(HttpMethod method) { - // Create and return HttpResponseMethod - HttpResponseMessage responseMessage = new HttpResponseMessage(); - responseMessage.setStatusCode(method.getStatusCode()); - try { - responseMessage.setResponseBody(method.getResponseBodyAsString()); - } catch (Exception e) { - e.printStackTrace(); - } - return responseMessage; + // Extract response information and return + return responseMessage; + } - } + /** + * Extracts the response information from an executed HttpMethod + * + * @param method + * Executed Method + * @return Packaged response information + */ + private static HttpResponseMessage extractResponseInformation(HttpMethod method) { + // Create and return HttpResponseMethod + HttpResponseMessage responseMessage = new HttpResponseMessage(); + responseMessage.setStatusCode(method.getStatusCode()); + try { + JSON json = (JSON) JSON.parse(method.getResponseBodyAsString()); + responseMessage.setResponseBody(json); + json.toJSONString(); + } catch (Exception e) { + logger.info("response is not a json!"); + } + return responseMessage; + } } |