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);
+ }
+
+ /**
+ * <br>
+ * 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)) {
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);
}
/**
* "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
}
restJson.remove(Constant.RETCODE);
- restJson.put("jobId", vnfInstanceId + "_post");
+ //restJson.put("jobId", vnfInstanceId + "_post");
+ restJson.put("jobId", vnfInstanceId + ":heal");
return restJson.toString();
}
- private String getJobBody(JSONObject restJson) {
+ private String getHealJobBody(String jobId) {
+ LOG.warn("function=getHealJobBody");
+ JSONObject responseJson = new JSONObject();
+ JSONObject jobInfoJson = new JSONObject();
+ jobInfoJson.put("jobId", jobId);
+ responseJson.put("progress", "100");
+ responseJson.put("status", "finished");
+ responseJson.put("errorCode", "null");
+ responseJson.put("responseId", "100");
+ jobInfoJson.put("responsedescriptor", responseJson);
+
+ LOG.warn("function=getJobBody, jobInfoJson: {}", jobInfoJson);
+ return jobInfoJson.toString();
+ }
+
+ 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");
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 if (flag.equalsIgnoreCase("heal")){
+ return getHealJobBody(jobId);
+ } else {
+ JSONObject restJson = vnfMgr.getJobFromVnfm(tmpJobId, vnfmId);
+
+ 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);
}
-
- return vnfMgr.transferToLcm(restJson);
}
}