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); + } } }