Realize the delete VIM API. 61/14161/2
authorlizi00164331 <li.zi30@zte.com.cn>
Thu, 21 Sep 2017 08:29:10 +0000 (16:29 +0800)
committerlizi00164331 <li.zi30@zte.com.cn>
Thu, 21 Sep 2017 09:16:27 +0000 (17:16 +0800)
Change-Id: I674f900fe68ab1f38def6b9297b0999ef65e1455
Issue-ID: AAI-360
Signed-off-by: lizi00164331 <li.zi30@zte.com.cn>
esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/CloudRegionProxy.java
esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/ICloudRegion.java
esr-mgr/src/main/java/org/onap/aai/esr/wrapper/EmsManagerWrapper.java
esr-mgr/src/main/java/org/onap/aai/esr/wrapper/ThirdpatySdncWrapper.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 f21510e..89b8ab2 100644 (file)
@@ -33,8 +33,8 @@ public class CloudRegionProxy {
         config, ICloudRegion.class);
   }
 
-  public static void registerVim(String cloudOwner, String cloudRegionId, CloudRegionDetail cloudRegion)
-      throws Exception {
+  public static void registerVim(String cloudOwner, String cloudRegionId,
+      CloudRegionDetail cloudRegion) throws Exception {
     ClientConfig config = new ClientConfig(new VimRegisterProvider());
     ICloudRegion registerVimServiceproxy = ConsumerFactory
         .createConsumer(AaiAdapterConfig.getCloudInfrastructureAddr(), config, ICloudRegion.class);
@@ -46,8 +46,14 @@ public class CloudRegionProxy {
     return adapterServiceproxy.queryVIMDetail(transactionId, fromAppId, authorization, cloud_owner,
         cloud_region_id);
   }
-  
+
   public static String qureyVimList() throws Exception {
     return adapterServiceproxy.queryVIMList(transactionId, fromAppId, authorization);
   }
+
+  public static void deleteVim(String cloud_owner, String cloud_region_id, String resourceVersion)
+      throws Exception {
+    adapterServiceproxy.deleteVim(transactionId, fromAppId, authorization, cloud_owner,
+        cloud_region_id, resourceVersion);
+  }
 }
index 77b44ba..3b51e29 100644 (file)
 package org.onap.aai.esr.externalservice.aai;
 
 import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
 import javax.ws.rs.GET;
 import javax.ws.rs.HeaderParam;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 
 import org.onap.aai.esr.entity.aai.CloudRegionDetail;
@@ -57,4 +59,14 @@ public interface ICloudRegion {
       @HeaderParam("X-FromAppId") String fromApp,
       @HeaderParam("Authorization") String authorization) throws Exception;
 
+  @DELETE
+  @Path("/cloud-region/{cloud_owner}/{cloud_region_id}")
+  @Consumes(MediaType.APPLICATION_JSON)
+  @Produces(MediaType.APPLICATION_JSON)
+  public void deleteVim(@HeaderParam("X-TransactionId") String transactionId,
+      @HeaderParam("X-FromAppId") String fromApp,
+      @HeaderParam("Authorization") String authorization,
+      @PathParam("cloud_owner") String cloud_owner,
+      @PathParam("cloud_region_id") String cloud_region_id,
+      @QueryParam("resource-version") String resourceVersion) throws Exception;
 }
index 07e510e..6436bf8 100644 (file)
@@ -90,7 +90,7 @@ public class EmsManagerWrapper {
     } catch (Exception e) {
       e.printStackTrace();
       LOG.error("Query EMS list failed !");
-      return Response.ok().build();
+      return Response.ok(emsList).build();
     }
   }
   
@@ -100,7 +100,7 @@ public class EmsManagerWrapper {
     if (ems != null) {
       return Response.ok(ems).build();
     } else {
-      return Response.ok().build();
+      return Response.ok(ems).build();
     }
   }
   
@@ -120,7 +120,7 @@ public class EmsManagerWrapper {
       }
     } else {
       LOG.error("resouce-version is null ! Can not delete resouce from A&AI. ");
-      return Response.noContent().build();
+      return Response.serverError().build();
     }
   }
   
index 9e6f3f8..effc244 100644 (file)
@@ -105,7 +105,7 @@ public class ThirdpatySdncWrapper {
     } catch (Exception e) {
       e.printStackTrace();
       LOG.error("Query thirdparty SDNC list failed !");
-      return Response.ok().build();
+      return Response.ok(sdncList).build();
     }
   }
   
@@ -115,7 +115,7 @@ public class ThirdpatySdncWrapper {
     if(thirdpartySdnc != null) {
       return Response.ok(thirdpartySdnc).build();
     } else {
-      return Response.ok().build();
+      return Response.ok(thirdpartySdnc).build();
     }
   }
   
@@ -131,11 +131,11 @@ public class ThirdpatySdncWrapper {
         e.printStackTrace();
         LOG.error("Delete VNFM from A&AI failed! thirdparty SDNC ID: " + thirdpartySdncId + "resouce-version:"
             + resourceVersion, e.getMessage());
-        return Response.noContent().build();
+        return Response.serverError().build();
       }
     } else {
       LOG.error("resouce-version is null ! Can not delete resouce from A&AI. ");
-      return Response.noContent().build();
+      return Response.serverError().build();
     }
   }
   
index bdf4705..2a4174a 100644 (file)
@@ -101,7 +101,7 @@ public class VimManagerWrapper {
     } catch (Exception error) {
       error.printStackTrace();
       LOG.error("Query vim list details failed !" + error.getMessage());
-      return Response.ok().build();
+      return Response.ok(vimRegisterInfos).build();
     }
 
   }
@@ -117,7 +117,7 @@ public class VimManagerWrapper {
       return Response.ok(vim).build();
     } catch (Exception e) {
       e.printStackTrace();
-      return Response.serverError().build();
+      return Response.ok(vim).build();
     }
 
   }
@@ -183,7 +183,38 @@ public class VimManagerWrapper {
   }
 
   public Response delVim(String cloudOwner, String cloudRegionId) {
-    // TODO
-    return Response.noContent().build();
+    CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
+    cloudRegionDetail = queryCloudRegionDetail(cloudOwner, cloudRegionId);
+    String resourceVersion = cloudRegionDetail.getResourceVersion();
+    if (resourceVersion != null) {
+      try {
+        CloudRegionProxy.deleteVim(cloudOwner, cloudRegionId, resourceVersion);
+        return Response.noContent().build();
+      } catch (Exception e) {
+        e.printStackTrace();
+        LOG.error(
+            "Delete cloud region from A&AI failed! cloud-owner = " + cloudOwner
+                + ", cloud-region-id = " + cloudRegionId + "resouce-version:" + resourceVersion,
+            e.getMessage());
+        return Response.serverError().build();
+      }
+    } else {
+      LOG.error("resouce-version is null ! Can not delete resouce from A&AI. ");
+      return Response.serverError().build();
+    }
+  }
+  
+  private CloudRegionDetail queryCloudRegionDetail (String cloudOwner, String cloudRegionId) {
+    CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
+    try {
+      String cloudRegionStr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId);
+      LOG.info("Response from AAI by query cloud region: " + cloudRegionStr);
+      cloudRegionDetail = new Gson().fromJson(cloudRegionStr, CloudRegionDetail.class);
+    } catch (Exception e) {
+      e.printStackTrace();
+      LOG.error("Query EMS detail failed! cloud-owner = " + cloudOwner
+                + ", cloud-region-id = " + cloudRegionId , e.getMessage());
+    }
+    return cloudRegionDetail;
   }
 }
index 9187897..65c26c3 100644 (file)
@@ -103,7 +103,7 @@ public class VnfmManagerWrapper {
     } catch (Exception e) {
       e.printStackTrace();
       LOG.error("Query VNFM list failed !");
-      return Response.ok().build();
+      return Response.ok(vnfmList).build();
     }
   }
 
@@ -113,7 +113,7 @@ public class VnfmManagerWrapper {
     if (vnfm != null) {
       return Response.ok(vnfm).build();
     } else {
-      return Response.ok().build();
+      return Response.ok(vnfm).build();
     }
   }
 
@@ -127,11 +127,11 @@ public class VnfmManagerWrapper {
         e.printStackTrace();
         LOG.error("Delete VNFM from A&AI failed! VNFM ID: " + vnfmId + "resouce-version:"
             + resourceVersion, e.getMessage());
-        return Response.noContent().build();
+        return Response.serverError().build();
       }
     } else {
       LOG.error("resouce-version is null ! Can not delete resouce from A&AI. ");
-      return Response.noContent().build();
+      return Response.serverError().build();
     }
   }