Modify POM parent oparent version as 0.1.1
[vfc/nfvo/driver/vnfm/svnfm.git] / nokia / vnfmdriver / vfcadaptorservice / vfcadaptor / src / main / java / org / onap / vfc / nfvo / driver / vnfm / svnfm / cbam / impl / CbamMgmrImpl.java
index bb56fc1..bb226db 100644 (file)
 package org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.impl;
 
 import java.io.IOException;
+import java.util.HashMap;
 
 import org.apache.http.client.ClientProtocolException;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.apache.log4j.Logger;
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfRequest;
@@ -39,7 +38,8 @@ import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfResponse;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.inf.CbamMgmrInf;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.AdaptorEnv;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonConstants;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpRequestProcessor;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpClientProcessorInf;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpResult;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
@@ -49,26 +49,25 @@ import com.google.gson.Gson;
 
 @Component
 public class CbamMgmrImpl implements CbamMgmrInf {
-       private static final Logger logger = LogManager.getLogger("CbamMgmrImpl");
+       private static final Logger logger = Logger.getLogger(CbamMgmrImpl.class);
        private Gson gson = new Gson();
        
        @Autowired 
        private AdaptorEnv adaptorEnv;
        
        @Autowired
-       private HttpClientBuilder httpClientBuilder;
+       HttpClientProcessorInf httpClientProcessor;
        
        private String retrieveToken() throws ClientProtocolException, IOException, JSONException {
                String result = null;
                String url= adaptorEnv.getCbamApiUriFront() + CommonConstants.RetrieveCbamTokenPath;
-               HttpRequestProcessor processor = new HttpRequestProcessor(httpClientBuilder, RequestMethod.POST);
-               processor.addHdeader(CommonConstants.ACCEPT, "*/*");
-               processor.addHdeader(CommonConstants.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE);
+               HashMap<String, String> map = new HashMap<>();
+               map.put(CommonConstants.ACCEPT, "*/*");
+               map.put(CommonConstants.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE);
                
                String bodyPostStr = String.format(CommonConstants.RetrieveCbamTokenPostStr, adaptorEnv.getGrantType(), adaptorEnv.getClientId(), adaptorEnv.getClientSecret());
-               processor.addPostEntity(bodyPostStr);
                
-               String responseStr = processor.process(url);
+               String responseStr = httpClientProcessor.process(url, RequestMethod.GET, map, bodyPostStr).getContent();
                
                logger.info("CbamMgmrImpl -> retrieveToken, responseStr is " + responseStr);
                
@@ -83,10 +82,16 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                String httpPath = CommonConstants.CbamCreateVnfPath;
                RequestMethod method = RequestMethod.POST;
                        
-               String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
+               HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+               String responseStr = httpResult.getContent();
                
                logger.info("CbamMgmrImpl -> createVnf, responseStr is " + responseStr);
-               
+               int code = httpResult.getStatusCode();
+               if(code == 201) {
+                       logger.info("CbamMgmrImpl -> createVnf success");
+               }else {
+                       logger.error("CbamMgmrImpl -> createVnf error ");
+               }
                CBAMCreateVnfResponse response = gson.fromJson(responseStr, CBAMCreateVnfResponse.class);
                
                return response;
@@ -99,10 +104,16 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                String httpPath = String.format(CommonConstants.CbamInstantiateVnfPath, vnfInstanceId);
                RequestMethod method = RequestMethod.POST;
                        
-               String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
+               HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+               String responseStr = httpResult.getContent();
                
                logger.info("CbamMgmrImpl -> instantiateVnf, responseStr is " + responseStr);
-               
+               int code = httpResult.getStatusCode();
+               if(code == 202) {
+                       logger.info("CbamMgmrImpl -> instantiateVnf success " );
+               }else {
+                       logger.error("CbamMgmrImpl -> instantiateVnf error " );
+               }
                CBAMInstantiateVnfResponse response = gson.fromJson(responseStr, CBAMInstantiateVnfResponse.class);
                
                return response;
@@ -112,10 +123,16 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                String httpPath = String.format(CommonConstants.CbamTerminateVnfPath, vnfInstanceId);
                RequestMethod method = RequestMethod.POST;
                
-               String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
+               HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+               String responseStr = httpResult.getContent();
                
                logger.info("CbamMgmrImpl -> terminateVnf, responseStr is " + responseStr);
-               
+               int code = httpResult.getStatusCode();
+               if(code == 202) {
+                       logger.info("CbamMgmrImpl -> terminateVnf  sucess " );
+               }else {
+                       logger.error("CbamMgmrImpl -> terminateVnf error " );
+               }
                CBAMTerminateVnfResponse response = gson.fromJson(responseStr, CBAMTerminateVnfResponse.class);
                
                return response;
@@ -124,18 +141,29 @@ public class CbamMgmrImpl implements CbamMgmrInf {
        public void deleteVnf(String vnfInstanceId) throws ClientProtocolException, IOException {
                String httpPath = String.format(CommonConstants.CbamDeleteVnfPath, vnfInstanceId);
                RequestMethod method = RequestMethod.DELETE;
+               HttpResult httpResult = operateCbamHttpTask(null, httpPath, method);
                
-               operateCbamHttpTask(null, httpPath, method);
+               int code = httpResult.getStatusCode();
+               if(code == 204) {
+                       logger.info("CbamMgmrImpl -> deleteVnf success.");
+               }else {
+                   logger.error("CbamMgmrImpl -> deleteVnf error. detail info is " + httpResult.getContent());
+               }
                
-               logger.info("CbamMgmrImpl -> deleteVnf.");
        }
        
        public CBAMScaleVnfResponse scaleVnf(CBAMScaleVnfRequest cbamRequest, String vnfInstanceId) throws ClientProtocolException, IOException {
                String httpPath = String.format(CommonConstants.CbamScaleVnfPath, vnfInstanceId);
                RequestMethod method = RequestMethod.POST;
                        
-               String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
-               
+               HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+               String responseStr = httpResult.getContent();
+               int code = httpResult.getStatusCode();
+               if(code == 202) {
+                       logger.info("CbamMgmrImpl -> scaleVnf success.");
+               }else {
+                   logger.error("CbamMgmrImpl -> scaleVnf error. " );
+               }
                CBAMScaleVnfResponse response = gson.fromJson(responseStr, CBAMScaleVnfResponse.class);
                
                return response;
@@ -145,10 +173,16 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                String httpPath = String.format(CommonConstants.CbamHealVnfPath, vnfInstanceId);
                RequestMethod method = RequestMethod.POST;
                        
-               String responseStr = operateCbamHttpTask(cbamRequest, httpPath, method);
+               HttpResult httpResult = operateCbamHttpTask(cbamRequest, httpPath, method);
+               String responseStr = httpResult.getContent();
                
                logger.info("CbamMgmrImpl -> healVnf, responseStr is " + responseStr);
-               
+               int code = httpResult.getStatusCode();
+               if(code == 202) {
+                       logger.info("CbamMgmrImpl -> healVnf success.");
+               }else {
+                   logger.error("CbamMgmrImpl -> healVnf error. " );
+               }
                CBAMHealVnfResponse response = gson.fromJson(responseStr, CBAMHealVnfResponse.class);
                
                return response;
@@ -158,16 +192,23 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                String httpPath = String.format(CommonConstants.CbamQueryVnfPath, vnfInstanceId);
                RequestMethod method = RequestMethod.GET;
                
-               String responseStr = operateCbamHttpTask(null, httpPath, method);
+               HttpResult httpResult = operateCbamHttpTask(null, httpPath, method);
+               String responseStr = httpResult.getContent();
                
                logger.info("CbamMgmrImpl -> queryVnf, responseStr is " + responseStr);
+               int code = httpResult.getStatusCode();
+               if(code == 200) {
+                       logger.info("CbamMgmrImpl -> queryVnf success.");
+               }else {
+                   logger.error("CbamMgmrImpl -> queryVnf error. " );
+               }
                
                CBAMQueryVnfResponse response = gson.fromJson(responseStr, CBAMQueryVnfResponse.class);
                
                return response;
        }
 
-       public String operateCbamHttpTask(Object httpBodyObj, String httpPath, RequestMethod method) throws ClientProtocolException, IOException {
+       public HttpResult operateCbamHttpTask(Object httpBodyObj, String httpPath, RequestMethod method) throws ClientProtocolException, IOException {
                String token = null;
                try {
                        token = retrieveToken();
@@ -176,28 +217,40 @@ public class CbamMgmrImpl implements CbamMgmrInf {
                }
        
                String url= adaptorEnv.getCbamApiUriFront() + httpPath;
-               HttpRequestProcessor processor = new HttpRequestProcessor(httpClientBuilder, method);
-               processor.addHdeader(CommonConstants.AUTHORIZATION, "bearer " + token);
-               processor.addHdeader(CommonConstants.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
                
-               processor.addPostEntity(gson.toJson(httpBodyObj));
+               HashMap<String, String> map = new HashMap<>();
+               map.put(CommonConstants.AUTHORIZATION, "bearer " + token);
+               map.put(CommonConstants.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
                
-               String responseStr = processor.process(url);
-               
-               return responseStr;
+               return httpClientProcessor.process(url, method, map, gson.toJson(httpBodyObj));
        }
 
        public CBAMQueryOperExecutionResponse queryOperExecution(String execId) throws ClientProtocolException, IOException{
                String httpPath = String.format(CommonConstants.CbamGetOperStatusPath, execId);
                RequestMethod method = RequestMethod.GET;
                
-               String responseStr = operateCbamHttpTask(null, httpPath, method);
+               HttpResult httpResult = operateCbamHttpTask(null, httpPath, method);
+               String responseStr = httpResult.getContent();
                
                logger.info("CbamMgmrImpl -> CBAMQueryOperExecutionResponse, responseStr is " + responseStr);
                
+               int code = httpResult.getStatusCode();
+               if(code == 200) {
+                       logger.info("CbamMgmrImpl -> CBAMQueryOperExecutionResponse, success" );
+               }else if(code == 202) {
+                       logger.info("CbamMgmrImpl -> CBAMQueryOperExecutionResponse, ongoing" );
+               }else {
+                       logger.error("CbamMgmrImpl -> CBAMQueryOperExecutionResponse, error" );
+               }
+               
+               
                CBAMQueryOperExecutionResponse response = gson.fromJson(responseStr, CBAMQueryOperExecutionResponse.class);
                
                return response;
        }
+
+       public void setAdaptorEnv(AdaptorEnv adaptorEnv) {
+               this.adaptorEnv = adaptorEnv;
+       }
        
 }