Add query vnfm from ESR interface
[vfc/nfvo/driver/vnfm/svnfm.git] / huawei / vnfmadapter / VnfmadapterService / service / src / main / java / org / onap / vfc / nfvo / vnfm / svnfm / vnfmadapter / service / rest / VnfRoa.java
index 20a02d6..4b6520f 100644 (file)
@@ -35,6 +35,7 @@ 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.VnfmJsonUtil;
+import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.VnfmUtil;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.common.restclient.ServiceException;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.constant.Constant;
 import org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.process.VnfMgr;
@@ -48,10 +49,10 @@ import net.sf.json.JSONObject;
  * <br/>
  *
  * @author
- * @version NFVO 0.5 Aug 24, 2016
+ * @version VFC 1.0 Aug 24, 2016
  */
 @SuppressWarnings("unchecked")
-@Path("/api/hwvnfm/v1")
+@Path("/api/huaweivnfmdriver/v1")
 @Consumes(MediaType.APPLICATION_JSON)
 @Produces(MediaType.APPLICATION_JSON)
 public class VnfRoa {
@@ -60,9 +61,9 @@ public class VnfRoa {
 
     private VnfMgr vnfMgr;
 
-    private static Map<String, String> PROGRESSITEM;
+    private static Map<String, String> progressItem;
 
-    private static Map<String, String> JOBSTATUSITEM;
+    private static Map<String, String> jobstatusItem;
 
     static {
         Map<String, String> map = new HashMap<>();
@@ -70,14 +71,14 @@ public class VnfRoa {
         map.put("Active", "100");
         map.put("Stopped", "50");
         map.put("Error", "100");
-        PROGRESSITEM = UnmodifiableMap.decorate(map);
+        progressItem = UnmodifiableMap.decorate(map);
 
         map = new HashMap<>();
         map.put("Building", "processing");
         map.put("Active", "finished");
         map.put("Stopped", "processing");
         map.put("Error", "error");
-        JOBSTATUSITEM = UnmodifiableMap.decorate(map);
+        jobstatusItem = UnmodifiableMap.decorate(map);
     }
 
     public void setVnfMgr(VnfMgr vnfMgr) {
@@ -111,9 +112,8 @@ public class VnfRoa {
         JSONObject jsonObject = VnfmJsonUtil.getJsonFromContexts(context);
         LOG.info("function=scaleVNF, msg=enter to scale a vnf. request body:" + jsonObject);
         JSONObject result = new JSONObject();
-        String msg = "";
         if(null == jsonObject) {
-            msg = "the parameters do not meet the requirements,please check it!";
+            String msg = "the parameters do not meet the requirements,please check it!";
             LOG.error("function=scalVnf," + msg);
             resp.setStatus(Constant.HTTP_NOT_ACCEPTABLE);
             result.put("msg", msg);
@@ -139,7 +139,7 @@ public class VnfRoa {
      * @param vnfmId
      * @return
      * @throws ServiceException
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     @POST
     @Path("/{vnfmId}/vnfs")
@@ -176,7 +176,7 @@ public class VnfRoa {
      * @param context
      * @return
      * @throws ServiceException
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     @POST
     @Path("/{vnfmId}/vnfs/{vnfInstanceId}/terminate")
@@ -212,13 +212,12 @@ public class VnfRoa {
      * @param context
      * @return
      * @throws ServiceException
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     @GET
     @Path("/{vnfmId}/vnfs/{vnfInstanceId}")
     public String getVnf(@PathParam("vnfmId") String vnfmId, @Context HttpServletResponse resp,
-            @PathParam("vnfInstanceId") String vnfInstanceId, @Context HttpServletRequest context)
-            throws ServiceException {
+            @PathParam("vnfInstanceId") String vnfInstanceId) throws ServiceException {
         LOG.warn("function=getVnf, msg=enter to get a vnf: vnfInstanceId: {}, vnfmId: {}", vnfInstanceId, vnfmId);
         JSONObject restJson = new JSONObject();
 
@@ -238,6 +237,23 @@ public class VnfRoa {
         return restJson.toString();
     }
 
+    /**
+     * <br>
+     * 
+     * @param vnfmId
+     * @param resp
+     * @return
+     * @throws ServiceException
+     * @since VFC 1.0
+     */
+    @GET
+    @Path("/{vnfmId}")
+    public String getVnfmById(@PathParam("vnfmId") String vnfmId, @Context HttpServletResponse resp)
+            throws ServiceException {
+        LOG.warn("function=getVnfmById, vnfmId: {}", vnfmId);
+        return VnfmUtil.getVnfmById(vnfmId).toString();
+    }
+
     /**
      * Provide function for get job
      * <br/>
@@ -248,13 +264,13 @@ public class VnfRoa {
      * @param responseId
      * @return
      * @throws ServiceException
-     * @since NFVO 0.5
+     * @since VFC 1.0
      */
     @GET
     @Path("/{vnfmId}/jobs/{jobId}")
     public String getJob(@PathParam("jobId") String jobId, @PathParam("vnfmId") String vnfmId,
             @Context HttpServletResponse resp, @QueryParam("@responseId") String responseId) throws ServiceException {
-        LOG.warn("function=getJob, msg=enter to get a job: jobId: {}", jobId);
+        LOG.warn("function=getJob, msg=enter to get a job: jobId: {}, responseId: {}", jobId, responseId);
         JSONObject restJson = new JSONObject();
 
         if(StringUtils.isEmpty(jobId) || StringUtils.isEmpty(vnfmId)) {
@@ -314,6 +330,7 @@ public class VnfRoa {
         }
 
         restJson.remove(Constant.RETCODE);
+        restJson.put("jobId", vnfInstanceId + "_put");
         return restJson.toString();
     }
 
@@ -322,10 +339,10 @@ public class VnfRoa {
         JSONObject jobInfoJson = new JSONObject();
         JSONObject retJson = restJson.getJSONArray("data").getJSONObject(0);
         jobInfoJson.put("jobId", retJson.getString("id"));
-        responseJson.put("progress", PROGRESSITEM.get(retJson.getString(Constant.STATUS)));
-        responseJson.put("status", JOBSTATUSITEM.get(retJson.getString(Constant.STATUS)));
+        responseJson.put("progress", progressItem.get(retJson.getString(Constant.STATUS)));
+        responseJson.put("status", jobstatusItem.get(retJson.getString(Constant.STATUS)));
         responseJson.put("errorCode", "null");
-        responseJson.put("responseId", PROGRESSITEM.get(retJson.getString(Constant.STATUS)));
+        responseJson.put("responseId", progressItem.get(retJson.getString(Constant.STATUS)));
         jobInfoJson.put("responsedescriptor", responseJson);
         return jobInfoJson.toString();
     }