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.");