add some new function
[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 be8268a..7b5c1ba 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.apache.commons.lang3.StringUtils;
 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;
@@ -49,6 +51,16 @@ public class VnfMgr {
         this.vnfmDao = vnfmDao;
     }
 
+    private String configedVduType;
+
+
+    /**
+     * @param configedVduType The configedVduType to set.
+     */
+    public void setConfigedVduType(String configedVduType) {
+        this.configedVduType = configedVduType;
+    }
+
     /**
      * Scale vnf
      * 
@@ -79,6 +91,9 @@ public class VnfMgr {
                 LOG.error("function=scaleVNF,can't find vnfm from db by vnfmId=" + vnfmId);
                 return restJson;
             }
+            if(StringUtils.isNotEmpty(configedVduType)) {
+                vnfObject.put("configedVduType", configedVduType);
+            }
             restJson = (new VnfMgrVnfm()).scaleVnf(vnfObject, vnfmObjcet, vnfmId, vnfInstanceId);
         } catch(JSONException e) {
             LOG.error("function=scaleVNF, msg=JSONException occurs, e={}.", e);
@@ -169,7 +184,7 @@ public class VnfMgr {
      * @return
      * @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);
@@ -181,8 +196,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);
@@ -191,25 +207,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(Constant.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;
@@ -234,6 +251,9 @@ public class VnfMgr {
         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);
@@ -338,9 +358,17 @@ public class VnfMgr {
         JSONObject responseJson = new JSONObject();
         JSONObject jobInfoJson = new JSONObject();
         JSONObject jobInfo = restJson.getJSONObject("data").getJSONObject("job_info");
-        jobInfoJson.put("jobId", jobInfo.getString("job_id"));
+        jobInfoJson.put("jobId", jobInfo.getString("job_id") + ":job");
         responseJson.put("progress", jobInfo.getString("task_progress_rate"));
-        responseJson.put("status", jobInfo.getString("task_status"));
+
+        String taskStatus = jobInfo.getString("task_status");
+        if(taskStatus.equalsIgnoreCase("Successfully") || taskStatus.equalsIgnoreCase("finished")) {
+            responseJson.put("status", "finished");
+        } else if(taskStatus.equalsIgnoreCase("Failed")) {
+            responseJson.put("status", "error");
+        } else {
+            responseJson.put("status", "processing");
+        }
         responseJson.put("errorCode", jobInfo.getString("error_code"));
         responseJson.put("responseId", jobInfo.getString("task_progress_rate"));
         jobInfoJson.put("responsedescriptor", responseJson);
@@ -360,10 +388,11 @@ public class VnfMgr {
         if(vnfInstanceId == null) {
             url = "/v2/vapps/instances/query/vms";
         } else {
-            url = String.format("/v2/vapps/instances/%s/vms", vnfInstanceId);
+            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;
     }
+
 }