From e6ef1e3333bff9c9da98873f40bb4e1ac53e4d79 Mon Sep 17 00:00:00 2001 From: yufei_zhou Date: Thu, 19 Oct 2017 10:50:54 +0800 Subject: [PATCH] Handle unsuccessful msb service query Change-Id: I6208c9532cd38fee68cd6b14de15373c7dfdfc8d Issue-ID: VFC-544 Signed-off-by: yufei_zhou --- .../driver/vnfm/svnfm/msb/impl/MsbMgmrImpl.java | 107 +++++++++++++-------- 1 file changed, 67 insertions(+), 40 deletions(-) diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/msb/impl/MsbMgmrImpl.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/msb/impl/MsbMgmrImpl.java index f2b1a32e..78dcf413 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/msb/impl/MsbMgmrImpl.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/msb/impl/MsbMgmrImpl.java @@ -16,7 +16,6 @@ package org.onap.vfc.nfvo.driver.vnfm.svnfm.msb.impl; -import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashMap; @@ -25,6 +24,7 @@ import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.AdaptorEnv; import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.util.CommonUtil; import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonConstants; import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpClientProcessorInf; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.http.client.HttpResult; import org.onap.vfc.nfvo.driver.vnfm.svnfm.msb.bo.MsbServiceInfo; import org.onap.vfc.nfvo.driver.vnfm.svnfm.msb.inf.IMsbMgmr; import org.slf4j.Logger; @@ -39,80 +39,107 @@ import com.google.gson.Gson; @Component public class MsbMgmrImpl implements IMsbMgmr { private static final Logger logger = LoggerFactory.getLogger(MsbMgmrImpl.class); - + @Autowired AdaptorEnv adaptorEnv; - + @Autowired HttpClientProcessorInf httpClientProcessor; - + private Gson gson = new Gson(); - + @Override public void register() { - + try { String url = adaptorEnv.getMsbApiUriFront() + CommonConstants.MSB_REGISTER_SERVICE_PATH; HashMap map = new HashMap<>(); map.put(CommonConstants.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE); - - String bodyPostStr = readVfcAdaptorInfoFromJsonFile();; - - String responseStr = httpClientProcessor.process(url, RequestMethod.POST, map, bodyPostStr).getContent(); - + + String bodyPostStr = readVfcAdaptorInfoFromJsonFile(); + + HttpResult httpResult = httpClientProcessor.process(url, RequestMethod.POST, map, bodyPostStr); + String responseStr = httpResult.getContent(); + logger.info("MsbMgmrImpl -> register, responseStr is " + responseStr); - } catch (IOException e) { + if(httpResult.getStatusCode() == 201) + { + logger.info("MsbMgmrImpl -> register, Successfully "); + } + else + { + logger.error("MsbMgmrImpl -> register Error, statusCode = " + httpResult.getStatusCode()); + } + + } catch (IOException e) { logger.error("IOException Failed to register nokia vnfm driver! ", e); - } - + } + } - + private String readVfcAdaptorInfoFromJsonFile() throws IOException { - String filePath = "/etc/adapterInfo/vnfmadapterinfo.json"; + String filePath = "/etc/adapterInfo/vnfmadapterinfo.json"; String fileContent = CommonUtil.getJsonStrFromFile(filePath); - return fileContent; - } + return fileContent; + } @Override public void unregister() { try { String url = adaptorEnv.getMsbApiUriFront() + String.format(CommonConstants.MSB_UNREGISTER_SERVICE_PATH); - - String responseStr = httpClientProcessor.process(url, RequestMethod.DELETE, null, null).getContent(); - + + HttpResult httpResult = httpClientProcessor.process(url, RequestMethod.DELETE, null, null); + String responseStr = httpResult.getContent(); + logger.info("MsbMgmrImpl -> unregister, responseStr is " + responseStr); - - } catch (Exception e) { + if(httpResult.getStatusCode() == 204) + { + logger.info("MsbMgmrImpl -> register, Successfully "); + } + else + { + logger.error("MsbMgmrImpl -> register Error, statusCode = " + httpResult.getStatusCode()); + } + + } catch (Exception e) { logger.error("IOException Failed to unregister nokia vnfm driver! ", e); } - + } - - public String getServiceUrlInMsbBySeriveNameAndVersion(String serviceName, String version) throws ClientProtocolException, IOException - { - String url=adaptorEnv.getMsbApiUriFront() + String.format(CommonConstants.MSB_QUERY_SERVICE_PATH, serviceName, version); - - String responseStr = httpClientProcessor.process(url, RequestMethod.GET, null, null).getContent(); + + public String getServiceUrlInMsbBySeriveNameAndVersion(String serviceName, String version) throws ClientProtocolException, IOException { + String url = adaptorEnv.getMsbApiUriFront() + String.format(CommonConstants.MSB_QUERY_SERVICE_PATH, serviceName, version); + + HttpResult httpResult = httpClientProcessor.process(url, RequestMethod.GET, null, null); + + String responseStr = httpResult.getContent(); logger.info("MsbMgmrImpl -> getServiceUrlInMsbBySeriveNameAndVersion, responseStr is " + responseStr); - - MsbServiceInfo serviceInfo = gson.fromJson(responseStr, MsbServiceInfo.class); - if(null == serviceInfo) + String serviceUrl = ""; + if(httpResult.getStatusCode() == 200) + { + MsbServiceInfo serviceInfo = gson.fromJson(responseStr, MsbServiceInfo.class); + if (null == serviceInfo) { + logger.error("There is no service in MSB for serviceName = {} and version = {}", serviceName, version); + } + + serviceUrl = serviceInfo.getUrl(); + logger.info("Service Url in MSB for serviceName = {} and version = {} is {}", serviceName, version, serviceUrl); + } + else { - logger.error("There is no service in MSB for serviceName = {} and version = {}", serviceName, version); + logger.error("MsbMgmrImpl -> getServiceUrlInMsbBySeriveNameAndVersion Error, statusCode = " + httpResult.getStatusCode()); } - - String serviceUrl = serviceInfo.getUrl(); - logger.info("Service Url in MSB for serviceName = {} and version = {} is {}", serviceName, version, serviceUrl); - + + return serviceUrl; - } + } public void setAdaptorEnv(AdaptorEnv env) { this.adaptorEnv = env; } - + public static final void main(String[] args) { MsbMgmrImpl impl = new MsbMgmrImpl(); impl.register(); -- 2.16.6