Realize update VNFM API. 73/12873/1
authorlizi00164331 <li.zi30@zte.com.cn>
Sat, 16 Sep 2017 09:19:53 +0000 (17:19 +0800)
committerlizi00164331 <li.zi30@zte.com.cn>
Sat, 16 Sep 2017 09:19:53 +0000 (17:19 +0800)
Realize update VNFM API.
Fix the bug in update VIM API.

Change-Id: I54c9d4a7a71df40373265c50ee76b381d5f072ad
Issue-ID: AAI-314
Signed-off-by: lizi00164331 <li.zi30@zte.com.cn>
esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegion.java
esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegionDetail.java
esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java
esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java
esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java

index fe1ea4c..b6db29f 100644 (file)
@@ -47,8 +47,8 @@ public class CloudRegion implements Serializable {
   @SerializedName("cloud-extra-info")
   private String cloudExtraInfo;
   
-  @SerializedName("resouce-version")
-  private String resouceVersion;
+  @SerializedName("resource-version")
+  private String resourceVersion;
 
   public String getCloudOwner() {
     return cloudOwner;
@@ -114,12 +114,12 @@ public class CloudRegion implements Serializable {
     this.cloudExtraInfo = cloudExtraInfo;
   }
 
-  public String getResouceVersion() {
-    return resouceVersion;
+  public String getResourceVersion() {
+    return resourceVersion;
   }
 
-  public void setResouceVersion(String resouceVersion) {
-    this.resouceVersion = resouceVersion;
+  public void setResourceVersion(String resourceVersion) {
+    this.resourceVersion = resourceVersion;
   }
 
   public static long getSerialversionuid() {
index 8c6ad38..9f44386 100644 (file)
@@ -47,8 +47,8 @@ public class CloudRegionDetail implements Serializable {
   @SerializedName("cloud-extra-info")
   private String cloudExtraInfo;
   
-  @SerializedName("resouce-version")
-  private String resouceVersion;
+  @SerializedName("resource-version")
+  private String resourceVersion;
   
   @SerializedName("esr-system-info-list")
   private EsrSystemInfoList esrSystemInfoList;
@@ -117,12 +117,12 @@ public class CloudRegionDetail implements Serializable {
     this.cloudExtraInfo = cloudExtraInfo;
   }
 
-  public String getResouceVersion() {
-    return resouceVersion;
+  public String getResourceVersion() {
+    return resourceVersion;
   }
 
-  public void setResouceVersion(String resouceVersion) {
-    this.resouceVersion = resouceVersion;
+  public void setResourceVersion(String resourceVersion) {
+    this.resourceVersion = resourceVersion;
   }
 
   public EsrSystemInfoList getEsrSystemInfoList() {
index 8dee4c9..67fcca0 100644 (file)
@@ -85,7 +85,7 @@ public class VimManager {
   /**
    * delete vim by id.
    */
-  @Path("/{vimId}")
+  @Path("/{cloudOwner}/{cloudRegionId}")
   @DELETE
   @ApiOperation(value = "delete a vim")
   @ApiResponses(value = {
@@ -96,16 +96,16 @@ public class VimManager {
       @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
           response = String.class)})
   @Timed
-  public Response delvim(@PathParam("vimId") String vimId) {
-    LOGGER.info("start delete vim .id:" + vimId);
-    return VimManagerWrapper.getInstance().delVim(vimId);
+  public Response delvim(@PathParam("cloudOwner") String cloudOwner,@PathParam("cloudRegionId") String cloudRegionId) {
+    LOGGER.info("start delete cloud-owner :" + cloudOwner +", cloud-region-id: " + cloudRegionId);
+    return VimManagerWrapper.getInstance().delVim(cloudOwner, cloudRegionId);
   }
   
   /**
    * update vim by id.
    */
   @PUT
-  @Path("/{vimId}")
+  @Path("/{cloudOwner}/{cloudRegionId}")
   @Consumes(MediaType.APPLICATION_JSON)
   @Produces(MediaType.APPLICATION_JSON)
   @ApiOperation(value = "update a vim")
@@ -117,9 +117,9 @@ public class VimManager {
       @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
           response = String.class)})
   @Timed
-  public Response updatevims(VimRegisterInfo vim, @PathParam("vimId") String vimId) {
-    LOGGER.info("start update vim .id:" + vimId + " info:" + ExtsysUtil.objectToString(vim));
-    return VimManagerWrapper.getInstance().updateVim(vim);
+  public Response updatevims(@PathParam("cloudOwner") String cloudOwner, @PathParam("cloudRegionId") String cloudRegionId, VimRegisterInfo vim) {
+    LOGGER.info("start update vim info:" + ExtsysUtil.objectToString(vim));
+    return VimManagerWrapper.getInstance().updateVim(cloudOwner, cloudRegionId, vim);
   }
   
   /**
index ad31f27..3ba83b0 100644 (file)
@@ -21,6 +21,7 @@ import javax.ws.rs.core.Response;
 
 import org.onap.aai.esr.entity.aai.CloudRegionDetail;
 import org.onap.aai.esr.entity.aai.CloudRegionList;
+import org.onap.aai.esr.entity.aai.EsrSystemInfo;
 import org.onap.aai.esr.entity.rest.VimRegisterInfo;
 import org.onap.aai.esr.entity.rest.VimRegisterResponse;
 import org.onap.aai.esr.externalservice.aai.CloudRegionProxy;
@@ -70,16 +71,12 @@ public class VimManagerWrapper {
     }
   }
 
-  public Response updateVim(VimRegisterInfo vimRegisterInfo) {
+  public Response updateVim(String cloudOwner, String cloudRegionId,VimRegisterInfo vimRegisterInfo) {
     LOG.info("Start update VIM, input VIM info is: " + ExtsysUtil.objectToString(vimRegisterInfo));
-    String cloudOwner = vimRegisterInfo.getCloudOwner();
-    String cloudRegionId = vimRegisterInfo.getCloudRegionId();
-    String resourceVersion = getResourceVersion(cloudOwner, cloudRegionId);
     CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
     VimRegisterResponse result = new VimRegisterResponse();
-    cloudRegionDetail = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo);
-    cloudRegionDetail.setResouceVersion(resourceVersion);
 
+    cloudRegionDetail = getVimUpdateInfo(vimRegisterInfo);
     try {
       CloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegionDetail);
       result.setCloudOwner(cloudOwner);
@@ -152,12 +149,12 @@ public class VimManagerWrapper {
     return registeredVimInfo;
   }
 
-  private String getResourceVersion(String cloudOwner, String cloudRegionId) {
+  private CloudRegionDetail getOriginalCloudRegion(String cloudOwner, String cloudRegionId) {
     CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
     try {
       String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId);
       cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class);
-      return cloudRegionDetail.getResouceVersion();
+      return cloudRegionDetail;
     } catch (Exception error) {
       error.printStackTrace();
       LOG.error("query VIM detail failed ! cloud-owner = " + cloudOwner + ", cloud-region-id = "
@@ -165,8 +162,26 @@ public class VimManagerWrapper {
       return null;
     }
   }
+  
+  private CloudRegionDetail getVimUpdateInfo(VimRegisterInfo vimRegisterInfo) {
+    CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
+    CloudRegionDetail originalCloudRegionDetail = new CloudRegionDetail();
+    EsrSystemInfo originalSystemInfo = new EsrSystemInfo();
+    String cloudOwner = vimRegisterInfo.getCloudOwner();
+    String cloudRegionId = vimRegisterInfo.getCloudRegionId();
+    originalCloudRegionDetail = getOriginalCloudRegion(cloudOwner, cloudRegionId);
+    String resourceVersion = originalCloudRegionDetail.getResourceVersion();
+    cloudRegionDetail = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo);
+    if(originalCloudRegionDetail != null && resourceVersion != null) {
+      cloudRegionDetail.setResourceVersion(resourceVersion);
+      originalSystemInfo = originalCloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0);
+      cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0).setEsrSystemInfoId(originalSystemInfo.getEsrSystemInfoId());
+      cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0).setResouceVersion(originalSystemInfo.getResouceVersion());
+    }
+    return cloudRegionDetail;
+  }
 
-  public Response delVim(String vimId) {
+  public Response delVim(String cloudOwner, String cloudRegionId) {
     // TODO
     return Response.noContent().build();
   }
index 30d4e3d..016e525 100644 (file)
@@ -19,6 +19,7 @@ import java.util.ArrayList;
 
 import javax.ws.rs.core.Response;
 
+import org.onap.aai.esr.entity.aai.EsrSystemInfo;
 import org.onap.aai.esr.entity.aai.EsrVnfmDetail;
 import org.onap.aai.esr.entity.aai.EsrVnfmList;
 import org.onap.aai.esr.entity.rest.CommonRegisterResponse;
@@ -63,8 +64,29 @@ public class VnfmManagerWrapper {
   }
 
   public Response updateVnfm(VnfmRegisterInfo vnfm, String vnfmId) {
-    // TODO
-    return Response.ok().build();
+    CommonRegisterResponse result = new CommonRegisterResponse();
+    EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail();
+    EsrVnfmDetail originalEsrVnfmDetail = new EsrVnfmDetail();
+    EsrSystemInfo originalEsrSystemInfo = new EsrSystemInfo();
+    originalEsrVnfmDetail = queryEsrVnfmDetail(vnfmId);
+    esrVnfmDetail = VnfmManagerUtil.vnfmRegisterInfo2EsrVnfm(vnfm);
+    String resourceVersion = getResourceVersion(vnfmId);
+    esrVnfmDetail.setResourceVersion(resourceVersion);
+    esrVnfmDetail.setVnfmId(vnfmId);
+    originalEsrSystemInfo = originalEsrVnfmDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0);
+    esrVnfmDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0)
+        .setEsrSystemInfoId(originalEsrSystemInfo.getEsrSystemInfoId());
+    esrVnfmDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0)
+        .setResouceVersion(originalEsrSystemInfo.getResouceVersion());
+    try {
+      ExternalSystemProxy.registerVnfm(vnfmId, esrVnfmDetail);
+      result.setId(vnfmId);
+      return Response.ok(result).build();
+    } catch (Exception e) {
+      e.printStackTrace();
+      LOG.error("Update VNFM failed !" + e.getMessage());
+      return Response.serverError().build();
+    }
   }
 
   public Response queryVnfmList() {
@@ -95,17 +117,8 @@ public class VnfmManagerWrapper {
   }
 
   public Response delVnfm(String vnfmId) {
-    EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail();
-    try {
-      String esrVnfmstr = ExternalSystemProxy.queryVnfmDetail(vnfmId);
-      LOG.info("Response from AAI by query VNFM: " + esrVnfmstr);
-      esrVnfmDetail = new Gson().fromJson(esrVnfmstr, EsrVnfmDetail.class);
-    } catch (Exception e) {
-      e.printStackTrace();
-      LOG.error("Query VNFM detail failed! VNFM ID: " + vnfmId, e.getMessage());
-    }
-    if (esrVnfmDetail != null && esrVnfmDetail.getResourceVersion() != null) {
-      String resourceVersion = esrVnfmDetail.getResourceVersion();
+    String resourceVersion = getResourceVersion(vnfmId);
+    if (resourceVersion != null) {
       try {
         ExternalSystemProxy.deleteVnfm(vnfmId, resourceVersion);
         return Response.ok().build();
@@ -149,4 +162,27 @@ public class VnfmManagerWrapper {
     }
     return vnfmInfoList;
   }
+  
+  private String getResourceVersion (String vnfmId) {
+    EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail();
+    String resourceVersion = null;
+    esrVnfmDetail = queryEsrVnfmDetail(vnfmId);
+    if (esrVnfmDetail != null && esrVnfmDetail.getResourceVersion() != null) {
+      resourceVersion = esrVnfmDetail.getResourceVersion();
+    }
+    return resourceVersion;
+  }
+  
+  private EsrVnfmDetail queryEsrVnfmDetail (String vnfmId) {
+    EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail();
+    try {
+      String esrVnfmstr = ExternalSystemProxy.queryVnfmDetail(vnfmId);
+      LOG.info("Response from AAI by query VNFM: " + esrVnfmstr);
+      esrVnfmDetail = new Gson().fromJson(esrVnfmstr, EsrVnfmDetail.class);
+    } catch (Exception e) {
+      e.printStackTrace();
+      LOG.error("Query VNFM detail failed! VNFM ID: " + vnfmId, e.getMessage());
+    }
+    return esrVnfmDetail;
+  }
 }