diff options
author | 2018-10-24 17:38:22 +0800 | |
---|---|---|
committer | 2018-10-24 17:46:39 +0800 | |
commit | 17c7c1bd3fbdb131f7a411b7923c6922471849ed (patch) | |
tree | 8e7b1734036a1399f6d8ad6d863a3aadab2c2176 | |
parent | 1873741f068ceebd273177d33134876907091483 (diff) |
support ns package query for vf-c
Change-Id: Ibcccea666c56b81e9fd687425af88ca1bc542780
Issue-ID: USECASEUI-159
Signed-off-by: guochuyicmri <guochuyi@chinamobile.com>
4 files changed, 90 insertions, 26 deletions
diff --git a/server/src/main/java/org/onap/usecaseui/server/controller/lcm/PackageDistributionController.java b/server/src/main/java/org/onap/usecaseui/server/controller/lcm/PackageDistributionController.java index bb6c06dc..350978be 100644 --- a/server/src/main/java/org/onap/usecaseui/server/controller/lcm/PackageDistributionController.java +++ b/server/src/main/java/org/onap/usecaseui/server/controller/lcm/PackageDistributionController.java @@ -17,6 +17,8 @@ package org.onap.usecaseui.server.controller.lcm; import org.onap.usecaseui.server.bean.lcm.VfNsPackageInfo; import org.onap.usecaseui.server.service.lcm.PackageDistributionService; +import org.onap.usecaseui.server.service.lcm.domain.sdc.bean.SDCServiceTemplate; +import org.onap.usecaseui.server.service.lcm.domain.sdc.bean.Vnf; import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.Csar; import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.DistributionResult; import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.Job; @@ -27,6 +29,8 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.util.List; + import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -49,7 +53,19 @@ public class PackageDistributionController { public VfNsPackageInfo retrievePackageInfo(){ return packageDistributionService.retrievePackageInfo(); } - + + @ResponseBody + @RequestMapping(value = {"/uui-lcm/sdc-ns-packages"}, method = RequestMethod.GET , produces = "application/json") + public List<SDCServiceTemplate> sdcNsPackageInfo(){ + return packageDistributionService.sdcNsPackageInfo(); + } + + @ResponseBody + @RequestMapping(value = {"/uui-lcm/sdc-vf-packages"}, method = RequestMethod.GET , produces = "application/json") + public List<Vnf> sdcVfPackageInfo(){ + return packageDistributionService.sdcVfPackageInfo(); + } + @ResponseBody @RequestMapping(value = {"/uui-lcm/ns-packages"}, method = RequestMethod.POST , produces = "application/json") public DistributionResult distributeNsPackage(@RequestBody Csar csar){ @@ -181,6 +197,11 @@ public class PackageDistributionController { return packageDistributionService.deleteNetworkServiceInstance(ns_instance_id); } + @RequestMapping(value = {"/uui-lcm/instantiateNetworkServiceInstance}"}, method = RequestMethod.POST , produces = "application/json") + public String instantiateNetworkServiceInstance(HttpServletRequest request,@RequestParam String ns_instance_id){ + return packageDistributionService.terminateNetworkServiceInstance(request,ns_instance_id); + } + @RequestMapping(value = {"/uui-lcm/terminateNetworkServiceInstance}"}, method = RequestMethod.POST , produces = "application/json") public String terminateNetworkServiceInstance(HttpServletRequest request,@RequestParam String ns_instance_id){ return packageDistributionService.terminateNetworkServiceInstance(request,ns_instance_id); diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/PackageDistributionService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/PackageDistributionService.java index 5f5ccc80..6a0d2d96 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/PackageDistributionService.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/PackageDistributionService.java @@ -15,10 +15,14 @@ */ package org.onap.usecaseui.server.service.lcm; +import java.util.List; + import javax.servlet.http.HttpServletRequest; import org.apache.http.HttpRequest; import org.onap.usecaseui.server.bean.lcm.VfNsPackageInfo; +import org.onap.usecaseui.server.service.lcm.domain.sdc.bean.SDCServiceTemplate; +import org.onap.usecaseui.server.service.lcm.domain.sdc.bean.Vnf; import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.Csar; import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.DistributionResult; import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.Job; @@ -27,6 +31,10 @@ import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.JobStatus; public interface PackageDistributionService { VfNsPackageInfo retrievePackageInfo(); + + List<SDCServiceTemplate> sdcNsPackageInfo(); + + List<Vnf> sdcVfPackageInfo(); DistributionResult postNsPackage(Csar csar); @@ -76,6 +84,8 @@ public interface PackageDistributionService { String createNetworkServiceInstance(HttpServletRequest request); + String instantiateNetworkServiceInstance(HttpServletRequest request ,String serviceInstanceId); + String deleteNetworkServiceInstance(String nsInstanceId); String terminateNetworkServiceInstance(HttpServletRequest request,String networkServiceInstanceId); diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/vfc/VfcService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/vfc/VfcService.java index 0dd91a95..da0fabe3 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/vfc/VfcService.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/vfc/VfcService.java @@ -54,6 +54,9 @@ public interface VfcService { @POST("/api/nslcm/v1/ns") Call<ResponseBody> createNetworkServiceInstance(@Body RequestBody body); + @POST("/api/nslcm/v1/ns/{ns_instance_id}/instantiate") + Call<ResponseBody> instantiateNetworkServiceInstance(@Body RequestBody body,@Path("ns_instance_id") String nsInstanceId); + @DELETE("/api/nslcm/v1/ns/{ns_instance_id}") Call<ResponseBody> deleteNetworkServiceInstance(@Path("ns_instance_id") String nsInstanceId); diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultPackageDistributionService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultPackageDistributionService.java index 4234e921..70b68663 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultPackageDistributionService.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultPackageDistributionService.java @@ -69,35 +69,43 @@ public class DefaultPackageDistributionService implements PackageDistributionSer @Override public VfNsPackageInfo retrievePackageInfo() { - try { - List<SDCServiceTemplate> nsTemplate = getNsTemplate(); - List<Vnf> vnf = getVFResource(); + List<SDCServiceTemplate> nsTemplate = sdcNsPackageInfo(); + List<Vnf> vnf = sdcVfPackageInfo(); return new VfNsPackageInfo(nsTemplate, vnf); - } catch (IOException e) { - throw new SDCCatalogException("SDC Service is not available!", e); - } } - - private List<Vnf> getVFResource() throws IOException { - Response<List<Vnf>> response = sdcCatalogService.listResources(RESOURCETYPE_VF).execute(); - if (response.isSuccessful()) { - return response.body(); - } else { - logger.info(String.format("Can not get VF resources[code=%s, message=%s]", response.code(), response.message())); - return Collections.emptyList(); - } + + @Override + public List<Vnf> sdcVfPackageInfo() { + try { + Response<List<Vnf>> response = sdcCatalogService.listResources(RESOURCETYPE_VF).execute(); + if (response.isSuccessful()) { + return response.body(); + } else { + logger.info(String.format("Can not get VF resources[code=%s, message=%s]", response.code(), response.message())); + return Collections.emptyList(); + } + } catch (IOException e) { + logger.error("sdcVfPackageInfo occur exception.Details:"+e.getMessage()); + } + return null; } - - private List<SDCServiceTemplate> getNsTemplate() throws IOException { - Response<List<SDCServiceTemplate>> response = sdcCatalogService.listServices(CATEGORY_NS, DISTRIBUTION_STATUS_DISTRIBUTED).execute(); - if (response.isSuccessful()) { - return response.body(); - } else { - logger.info(String.format("Can not get NS services[code=%s, message=%s]", response.code(), response.message())); - return Collections.emptyList(); - } + + @Override + public List<SDCServiceTemplate> sdcNsPackageInfo() { + try { + Response<List<SDCServiceTemplate>> response = sdcCatalogService.listServices(CATEGORY_NS, DISTRIBUTION_STATUS_DISTRIBUTED).execute(); + if (response.isSuccessful()) { + return response.body(); + } else { + logger.info(String.format("Can not get NS services[code=%s, message=%s]", response.code(), response.message())); + return Collections.emptyList(); + } + } catch (IOException e) { + logger.error("sdcNsPackageInfo occur exception.Details:"+e.getMessage()); + } + return null; } - + @Override public DistributionResult postNsPackage(Csar csar) { try { @@ -668,4 +676,26 @@ public class DefaultPackageDistributionService implements PackageDistributionSer } return result; } + + @Override + public String instantiateNetworkServiceInstance(HttpServletRequest request, String serviceInstanceId) { + String result = ""; + try { + logger.info("aai instantiateNetworkServiceInstance is starting"); + RequestBody requestBody = extractBody(request); + Response<ResponseBody> response = vfcService.instantiateNetworkServiceInstance(requestBody,serviceInstanceId).execute(); + logger.info("aai instantiateNetworkServiceInstance has finished"); + if (response.isSuccessful()) { + result=new String(response.body().bytes()); + } else { + result=Constant.CONSTANT_FAILED; + logger.error(String.format("Can not instantiateNetworkServiceInstance[code=%s, message=%s]", response.code(), response.message())); + } + } catch (Exception e) { + result=Constant.CONSTANT_FAILED; + logger.error("instantiateNetworkServiceInstance occur exception:"+e); + } + return result; + } + } |