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);
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);
+ }
}
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;
@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;
}
} catch (Exception e) {
e.printStackTrace();
LOG.error("Query EMS list failed !");
- return Response.ok().build();
+ return Response.ok(emsList).build();
}
}
if (ems != null) {
return Response.ok(ems).build();
} else {
- return Response.ok().build();
+ return Response.ok(ems).build();
}
}
}
} else {
LOG.error("resouce-version is null ! Can not delete resouce from A&AI. ");
- return Response.noContent().build();
+ return Response.serverError().build();
}
}
} catch (Exception e) {
e.printStackTrace();
LOG.error("Query thirdparty SDNC list failed !");
- return Response.ok().build();
+ return Response.ok(sdncList).build();
}
}
if(thirdpartySdnc != null) {
return Response.ok(thirdpartySdnc).build();
} else {
- return Response.ok().build();
+ return Response.ok(thirdpartySdnc).build();
}
}
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();
}
}
} catch (Exception error) {
error.printStackTrace();
LOG.error("Query vim list details failed !" + error.getMessage());
- return Response.ok().build();
+ return Response.ok(vimRegisterInfos).build();
}
}
return Response.ok(vim).build();
} catch (Exception e) {
e.printStackTrace();
- return Response.serverError().build();
+ return Response.ok(vim).build();
}
}
}
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;
}
}
} catch (Exception e) {
e.printStackTrace();
LOG.error("Query VNFM list failed !");
- return Response.ok().build();
+ return Response.ok(vnfmList).build();
}
}
if (vnfm != null) {
return Response.ok(vnfm).build();
} else {
- return Response.ok().build();
+ return Response.ok(vnfm).build();
}
}
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();
}
}