fix query vm
[vfc/nfvo/driver/vnfm/svnfm.git] / huawei / vnfmadapter / VnfmadapterService / service / src / main / java / org / onap / vfc / nfvo / vnfm / svnfm / vnfmadapter / service / process / VnfMgr.java
index 8b1f446..a06a995 100644 (file)
 
 package org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process;
 
+import java.io.IOException;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.ResultRequestUtil;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmUtil;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.adapter.impl.AdapterResourceManager;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
@@ -36,7 +38,7 @@ import net.sf.json.JSONObject;
  * <br/>
  *
  * @author
- * @version NFVO 0.5 Aug 24, 2016
+ * @version VFC 1.0 Aug 24, 2016
  */
 public class VnfMgr {
 
@@ -93,7 +95,7 @@ public class VnfMgr {
      * @param vnfObject
      * @param vnfmId
      * @return
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     public JSONObject addVnf(JSONObject vnfObject, String vnfmId) {
         JSONObject restJson = new JSONObject();
@@ -139,7 +141,7 @@ public class VnfMgr {
      * @param vnfmId
      * @param vnfObject
      * @return
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     public JSONObject deleteVnf(String vnfId, String vnfmId, JSONObject vnfObject) {
         LOG.warn("function=deleteVnf ,msg=enter to delete a vnf, vnfId:{}, vnfmId:{}", vnfId, vnfmId);
@@ -166,9 +168,9 @@ public class VnfMgr {
      * @param vnfId
      * @param vnfmId
      * @return
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
-    public JSONObject getVnf(String vnfId, String vnfmId) {
+    public JSONObject getVnf(String vnfId, String vnfmId) throws IOException {
         LOG.warn("function=getVnf ,msg=enter to get a vnf, vnfId:{}, vnfmId:{}", vnfId, vnfmId);
         JSONObject restJson = new JSONObject();
         restJson.put(Constant.RETCODE, Constant.REST_FAIL);
@@ -180,8 +182,9 @@ public class VnfMgr {
             }
 
             restJson = (new VnfMgrVnfm()).getVnf(vnfmObjcet, vnfId);
+            JSONObject ipObj = (new VnfMgrVnfm()).getIp(vnfmObjcet, vnfId);
 
-            return restJson.getInt(Constant.RETCODE) == Constant.REST_FAIL ? restJson : getVnfBody(restJson);
+            return restJson.getInt(Constant.RETCODE) == Constant.REST_FAIL ? restJson : getVnfBody(restJson, ipObj);
 
         } catch(JSONException e) {
             LOG.error("function=getVnf, msg=JSONException occurs, e={}.", e);
@@ -190,25 +193,26 @@ public class VnfMgr {
         return restJson;
     }
 
-    private JSONObject getVnfBody(JSONObject restJson) {
+    private JSONObject getVnfBody(JSONObject restJson, JSONObject ipObj) {
         try {
             JSONObject vnfInfoJson = new JSONObject();
             JSONObject basicInfoJson = new JSONObject();
 
             JSONObject retJson = restJson.getJSONArray("data").getJSONObject(0);
 
-            basicInfoJson.put("vnfInstanceId", retJson.getString("id"));
-            basicInfoJson.put("vnfInstanceName", retJson.getString("vapp_name"));
-            basicInfoJson.put("vnfInstanceDescription", "vFW");
+            basicInfoJson.put("vnfInstanceId", retJson.getString("vnf_id"));
+            basicInfoJson.put("vnfInstanceName", retJson.getString("vnf_name"));
+            basicInfoJson.put("vnfInstanceDescription", "");
 
-            Vnfm vnfm = vnfmDao.getVnfmById(retJson.getString("id"));
-            basicInfoJson.put("vnfdId", vnfm == null ? "" : vnfm.getVnfdId());
-            basicInfoJson.put("vnfdPackageId", vnfm == null ? "" : vnfm.getVnfPackageId());
-            basicInfoJson.put("version", vnfm == null ? "" : vnfm.getVersion());
+            basicInfoJson.put(Constant.VNFDID, retJson.getString("vnfd_id"));
+            basicInfoJson.put("vnfdPackageId", retJson.getString("vnfd_id"));
+            basicInfoJson.put("version", "1.0");
             basicInfoJson.put("vnfProvider", "hw");
-            basicInfoJson.put("vnfType", retJson.get("vapp_type"));
+            basicInfoJson.put("vnfType", retJson.get("vnf_type"));
             basicInfoJson.put("vnfStatus", retJson.getString(Constant.STATUS));
-
+            if(ipObj.getInt(Constant.RETCODE) == Constant.REST_SUCCESS) {
+                basicInfoJson.put("ipInfo", ipObj.getJSONObject("data"));
+            }
             vnfInfoJson.put("vnfInfo", basicInfoJson);
             vnfInfoJson.put(Constant.RETCODE, Constant.REST_SUCCESS);
             return vnfInfoJson;
@@ -227,12 +231,15 @@ public class VnfMgr {
     private JSONObject transferVnfBody(JSONObject vnfObject, JSONObject resObject, String vnfmId) {
         JSONObject restJson = new JSONObject();
         JSONObject vappIfno = new JSONObject();
-        restJson.put("vnfd_id", resObject.getString("vnfdId"));
+        restJson.put("vnfd_id", resObject.getString(Constant.VNFDID));
         restJson.put("plan_id", resObject.getOrDefault("planId", ""));
         restJson.put("plan_name", resObject.getOrDefault("planName", ""));
         restJson.put("vapp_name", vnfObject.get("vnfInstanceName"));
         restJson.put("project_id", vnfmId);
         restJson.put("parameters", resObject.getJSONObject("parameters"));
+        if(resObject.containsKey("emsUuid")) {
+            restJson.put("emsUuid", resObject.getString("emsUuid"));
+        }
         restJson.put("nfvo_id", "");
         restJson.put("location", "");
         restJson.put("vnfm_id", vnfmId);
@@ -247,7 +254,7 @@ public class VnfMgr {
      * @param jobId
      * @param vnfmId
      * @return
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     public JSONObject getJob(String jobId, String vnfmId) {
         LOG.warn("function=getJob ,msg=enter to get a job, vnfId:{}", jobId);
@@ -275,7 +282,7 @@ public class VnfMgr {
      *
      * @param vnfObject
      * @param resObject
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     public void saveVnfInfo(JSONObject vnfObject, JSONObject resObject) {
         LOG.warn("function=saveVnfInfo , vnfObject:{}", vnfObject);
@@ -283,7 +290,7 @@ public class VnfMgr {
             Vnfm info = new Vnfm();
             info.setId(vnfObject.getJSONObject("data").getString("vnfInstanceId"));
             info.setVersion(resObject.getString("vnfdVersion"));
-            info.setVnfdId(resObject.getString("vnfdId"));
+            info.setVnfdId(resObject.getString(Constant.VNFDID));
             info.setVnfPackageId("");
             try {
                 vnfmDao.insertVnfm(info);
@@ -300,7 +307,7 @@ public class VnfMgr {
      * @param vnfInstanceId
      * @param vnfmId
      * @return
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     public JSONObject healVnf(JSONObject jsonObject, String vnfInstanceId, String vnfmId) {
         JSONObject restJson = new JSONObject();
@@ -319,4 +326,51 @@ public class VnfMgr {
         restJson = (new VnfMgrVnfm()).healVnf(jsonObject, vnfmObjcet, vnfmId, vnfInstanceId);
         return restJson;
     }
+
+    public JSONObject getJobFromVnfm(String jobId, String vnfmId) {
+        LOG.warn("function=getJobFromVnfm, jobId:{}, vnfmId:{}", jobId, vnfmId);
+        JSONObject restJson = new JSONObject();
+        JSONObject vnfmObjcet = VnfmUtil.getVnfmById(vnfmId);
+        if(vnfmObjcet.isNullObject()) {
+            LOG.error("function=getJobFromVnfm, msg=vnfm not exists, vnfmId: {}", vnfmId);
+            return restJson;
+        }
+        restJson = (new VnfMgrVnfm()).getJobFromVnfm(vnfmObjcet, jobId);
+        return restJson;
+    }
+
+    public String transferToLcm(JSONObject restJson) {
+        LOG.warn("function=transferToLcm, restJson: {}", restJson);
+        JSONObject responseJson = new JSONObject();
+        JSONObject jobInfoJson = new JSONObject();
+        JSONObject jobInfo = restJson.getJSONObject("data").getJSONObject("job_info");
+        jobInfoJson.put("jobId", jobInfo.getString("job_id"));
+        responseJson.put("progress", jobInfo.getString("task_progress_rate"));
+        responseJson.put("status", jobInfo.getString("task_status"));
+        responseJson.put("errorCode", jobInfo.getString("error_code"));
+        responseJson.put("responseId", jobInfo.getString("task_progress_rate"));
+        jobInfoJson.put("responsedescriptor", responseJson);
+        LOG.warn("function=getJobBody, jobInfoJson: {}", jobInfoJson);
+        return jobInfoJson.toString();
+    }
+
+    public JSONObject getVmsFromVnfm(String vnfmId, String vnfInstanceId) {
+        JSONObject restJson = new JSONObject();
+        JSONObject vnfmObjcet = VnfmUtil.getVnfmById(vnfmId);
+        if(vnfmObjcet.isNullObject()) {
+            LOG.error("function=getVmsFromVnfm, msg=vnfm not exists, vnfmId: {}", vnfmId);
+            restJson.put("message", "vnfm not exists");
+            return restJson;
+        }
+        String url = "";
+        if(vnfInstanceId == null) {
+            url = "/v2/vapps/instances/query/vms";
+        } else {
+            url = String.format("/v2/vapps/instances/%s/vm", vnfInstanceId);
+        }
+        restJson = ResultRequestUtil.call(vnfmObjcet, url, Constant.GET, null, Constant.CERTIFICATE);
+        LOG.info("function=getVmsFromVnfm, restJson: {}", restJson);
+        return restJson;
+    }
+
 }