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%2Frest%2FVnfRoa.java;h=fc374b66349ed443763d44c8303391ecd33de6ee;hb=refs%2Fchanges%2F73%2F49073%2F1;hp=ad963e7510e9e85d0c250c13089bfc3a0de8cf14;hpb=f5b1c07d03b2c85b8bd8d9c30bfb8d97a4a67b65;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/rest/VnfRoa.java b/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java
index ad963e75..fc374b66 100644
--- a/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java
+++ b/huawei/vnfmadapter/VnfmadapterService/service/src/main/java/org/onap/vfc/nfvo/vnfm/svnfm/vnfmadapter/service/rest/VnfRoa.java
@@ -16,6 +16,7 @@
package org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.rest;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@@ -33,7 +34,6 @@ import javax.ws.rs.core.MediaType;
import org.apache.commons.collections.map.UnmodifiableMap;
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.VnfmJsonUtil;
import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmUtil;
import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
@@ -204,14 +204,13 @@ public class VnfRoa {
* @param vnfmId
* @param resp
* @param vnfInstanceId
- * @param context
* @return
* @since VFC 1.0
*/
@GET
@Path("/{vnfmId}/vnfs/{vnfInstanceId}")
public String getVnf(@PathParam("vnfmId") String vnfmId, @Context HttpServletResponse resp,
- @PathParam("vnfInstanceId") String vnfInstanceId) {
+ @PathParam("vnfInstanceId") String vnfInstanceId) throws IOException {
LOG.warn("function=getVnf, msg=enter to get a vnf: vnfInstanceId: {}, vnfmId: {}", vnfInstanceId, vnfmId);
JSONObject restJson = new JSONObject();
@@ -228,6 +227,7 @@ public class VnfRoa {
}
restJson.remove(Constant.RETCODE);
+ LOG.info("function=getVnf, restJson: {}", restJson);
return restJson.toString();
}
@@ -258,10 +258,24 @@ public class VnfRoa {
* @since VFC 1.0
*/
@GET
- @Path("/{vnfmId}/jobs/{jobId}")
+ @Path("/{vnfmId}/jobs_old/{jobId}")
public String getJob(@PathParam("jobId") String jobId, @PathParam("vnfmId") String vnfmId,
@Context HttpServletResponse resp, @QueryParam("@responseId") String responseId) {
LOG.warn("function=getJob, msg=enter to get a job: jobId: {}, responseId: {}", jobId, responseId);
+ return getJobProcess(jobId, vnfmId, resp, jobId);
+ }
+
+ /**
+ *
+ * common getJob method
+ *
+ * @param jobId
+ * @param vnfmId
+ * @param resp
+ * @return
+ * @since VFC 1.0
+ */
+ private String getJobProcess(String jobId, String vnfmId, HttpServletResponse resp, String orgJobId) {
JSONObject restJson = new JSONObject();
if(StringUtils.isEmpty(jobId) || StringUtils.isEmpty(vnfmId)) {
@@ -271,12 +285,12 @@ public class VnfRoa {
restJson = vnfMgr.getJob(jobId, vnfmId);
if(restJson.getInt(Constant.RETCODE) == Constant.REST_FAIL) {
- LOG.error("function=getJob, msg=getJob fail");
+ LOG.error("function=getJobProcess, msg=getJob fail");
resp.setStatus(Constant.HTTP_INNERERROR);
return restJson.toString();
}
- return getJobBody(restJson);
+ return getJobBody(restJson, orgJobId);
}
/**
@@ -288,7 +302,7 @@ public class VnfRoa {
* "affectedvm": {
* "vmid": "804cca71 - 9ae9 - 4511 - 8e30 - d1387718caff",
* "vduid": "vdu_100",
- * "vmname": "ZTE_SSS_111_PP_2_L"
+ * "vmname": "SBC_111_PP_2_L"
* }
* }
* @param resp
@@ -323,12 +337,12 @@ public class VnfRoa {
return restJson.toString();
}
- private String getJobBody(JSONObject restJson) {
+ private String getJobBody(JSONObject restJson, String jobId) {
LOG.warn("function=getJobBody, restJson: {}", restJson);
JSONObject responseJson = new JSONObject();
JSONObject jobInfoJson = new JSONObject();
JSONObject retJson = restJson.getJSONArray("data").getJSONObject(0);
- jobInfoJson.put("jobId", retJson.getString("id"));
+ jobInfoJson.put("jobId", jobId);
responseJson.put("progress", progressItem.get(retJson.getString(Constant.STATUS)));
responseJson.put("status", jobstatusItem.get(retJson.getString(Constant.STATUS)));
responseJson.put("errorCode", "null");
@@ -356,19 +370,30 @@ public class VnfRoa {
@Path("/{vnfmId}/vms")
public String getVms(@PathParam("vnfmId") String vnfmId, @Context HttpServletResponse resp) {
LOG.info("function=getVms, msg=enter to get vms: vnfmId: {}", vnfmId);
- JSONObject restJson = new JSONObject();
- JSONObject vnfmObjcet = VnfmUtil.getVnfmById(vnfmId);
- if(vnfmObjcet.isNullObject()) {
- LOG.error("function=getVnf, msg=vnfm not exists, vnfmId: {}", vnfmId);
- restJson.put("message", "vnfm not exists");
- return restJson.toString();
- }
- String url = "/v2/vapps/instances/query/vms";
- restJson = ResultRequestUtil.call(vnfmObjcet, url, Constant.GET, null, Constant.CERTIFICATE);
+ JSONObject restJson = vnfMgr.getVmsFromVnfm(vnfmId, null);
LOG.info("function=getVms, restJson: {}", restJson);
return restJson.getString("data");
}
+ /**
+ *
+ * Query vms info by vnfId from vnfm
+ *
+ * @param vnfmId
+ * @param vnfInstanceId
+ * @param resp
+ * @return
+ */
+ @GET
+ @Path("/{vnfmId}/{vnfInstanceId}/vms")
+ public String getVmsByVnfId(@PathParam("vnfmId") String vnfmId, @PathParam("vnfInstanceId") String vnfInstanceId,
+ @Context HttpServletResponse resp) {
+ LOG.info("function=getVmsByVnfId, msg=enter to get vms: vnfmId: {}", vnfmId);
+ JSONObject restJson = vnfMgr.getVmsFromVnfm(vnfmId, vnfInstanceId);
+ LOG.info("function=getVmsByVnfId, restJson: {}", restJson);
+ return restJson.getString("data");
+ }
+
/**
*
* Query job status from vnfm version 18.1
@@ -379,17 +404,31 @@ public class VnfRoa {
* @return
* @since VFC 1.0
*/
+ @GET
+ @Path("/{vnfmId}/jobs/{jobId}")
public String getJobFromVnfm(@PathParam("jobId") String jobId, @PathParam("vnfmId") String vnfmId,
@Context HttpServletResponse resp, @QueryParam("@responseId") String responseId) {
LOG.warn("function=getJobFromVnfm, msg=enter to get a job: jobId: {}, responseId: {}", jobId, responseId);
- JSONObject restJson = vnfMgr.getJobFromVnfm(jobId, vnfmId);
-
- if(restJson.getInt(Constant.RETCODE) == Constant.REST_FAIL) {
- LOG.error("function=getJobFromVnfm, msg=getJobFromVnfm fail");
- resp.setStatus(Constant.HTTP_INNERERROR);
- return restJson.toString();
+ String[] temps = jobId.split(":");
+ String tmpJobId = temps[0];
+ String flag = "";
+ if(temps.length > 1) {
+ flag = temps[1];
}
+ LOG.warn("function=getJobFromVnfm, tmpJobId: {}, flag: {}", tmpJobId, flag);
+
+ if(flag.equalsIgnoreCase("no")) {
+ return getJobProcess(tmpJobId, vnfmId, resp, jobId);
+ } else {
+ JSONObject restJson = vnfMgr.getJobFromVnfm(tmpJobId, vnfmId);
- return vnfMgr.transferToLcm(restJson);
+ if(restJson.getInt(Constant.RETCODE) == Constant.REST_FAIL) {
+ LOG.error("function=getJobFromVnfm, msg=getJobFromVnfm fail");
+ resp.setStatus(Constant.HTTP_INNERERROR);
+ return restJson.toString();
+ }
+
+ return vnfMgr.transferToLcm(restJson);
+ }
}
}