X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=huawei%2Fvnfmadapter%2FVnfmadapterService%2Fservice%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fvfc%2Fnfvo%2Fvnfm%2Fsvnfm%2Fvnfmadapter%2Fservice%2Fcsm%2Fconnect%2FConnectMgrVnfm.java;h=8be8b7dc2d9a16389570a27ee6328bcb83297b6d;hb=refs%2Fchanges%2F51%2F9651%2F2;hp=26430799cf2e5a8d8741b7cd2b8c1eaa8f0c95b8;hpb=51493c18d4bc89d0117d5a5b17ce906996bb6b32;p=vfc%2Fnfvo%2Fdriver%2Fvnfm%2Fsvnfm.git diff --git a/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/csm/connect/ConnectMgrVnfm.java b/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/csm/connect/ConnectMgrVnfm.java index 26430799..8be8b7dc 100644 --- a/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/csm/connect/ConnectMgrVnfm.java +++ b/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/csm/connect/ConnectMgrVnfm.java @@ -36,7 +36,7 @@ import net.sf.json.JSONObject; * .
* * @author - * @version NFVO 0.5 Sep 14, 2016 + * @version NFVO 0.5 Sep 14, 2016 */ public class ConnectMgrVnfm { @@ -62,16 +62,15 @@ public class ConnectMgrVnfm { this.roaRand = roaRand; } - /** * Make connection *
* * @param vnfmObj * @return - * @since NFVO 0.5 + * @since NFVO 0.5 */ - public int connect(JSONObject vnfmObj,String authModel) { + public int connect(JSONObject vnfmObj, String authModel) { LOG.info("function=connect, msg=enter connect function."); ConnectInfo info = new ConnectInfo(vnfmObj.getString("url"), vnfmObj.getString("userName"), @@ -87,7 +86,7 @@ public class ConnectMgrVnfm { statusCode = httpMethod.getStatusCode(); String result = httpMethod.getResponseBodyAsString(); - LOG.info("connect result:"+result); + LOG.info("connect result:" + result); if(statusCode == HttpStatus.SC_CREATED) { JSONObject accessObj = JSONObject.fromObject(result); JSONObject tokenObj = accessObj.getJSONObject("token"); @@ -114,13 +113,65 @@ public class ConnectMgrVnfm { return statusCode; } + + /** + *
+ * + * @param vnfmObj + * @param authModel + * @return + * @since NFVO 0.5 + */ + public int connectSouth(JSONObject vnfmObj, String authModel) { + LOG.info("function=connectSouth, msg=enter connect function."); + String oldUrl = vnfmObj.getString("url").trim(); + String newUrl = oldUrl.replaceAll("30001", "30000"); + LOG.info("function=connectSouth, url={}.", newUrl); + ConnectInfo info = + new ConnectInfo(newUrl, vnfmObj.getString("userName"), vnfmObj.getString("password"), authModel); + HttpMethod httpMethod = null; + int statusCode = Constant.INTERNAL_EXCEPTION; + + try { + httpMethod = new HttpRequests.Builder(info.getAuthenticateMode()) + .setUrl(info.getUrl(), ParamConstants.CSM_AUTH_CONNECT_SOUTH) + .setParams(String.format(ParamConstants.GET_TOKENS_V3, info.getUserName(), info.getUserPwd())) + .post().execute(); + statusCode = httpMethod.getStatusCode(); + + String result = httpMethod.getResponseBodyAsString(); + LOG.info("connect result:" + result); + if(statusCode == HttpStatus.SC_CREATED) { + Header header = httpMethod.getResponseHeader("accessSession"); + setAccessSession(header.getValue()); + statusCode = HttpStatus.SC_OK; + } else { + LOG.error("connect fail, code:" + statusCode + " re:" + result); + } + + } catch(JSONException e) { + LOG.error("function=connect, msg=connect JSONException e={}.", e); + } catch(VnfmException e) { + LOG.error("function=connect, msg=connect VnfmException e={}.", e); + } catch(IOException e) { + LOG.error("function=connect, msg=connect IOException e={}.", e); + } finally { + clearCSMPwd(info); + if(httpMethod != null) { + httpMethod.releaseConnection(); + } + } + return statusCode; + + } + /** * Make connection *
* * @param vnfmObj * @return - * @since NFVO 0.5 + * @since NFVO 0.5 */ public int connect(JSONObject vnfmObj) { LOG.info("function=connect, msg=enter connect function.");