From: guochuyicmri Date: Wed, 24 Oct 2018 09:38:22 +0000 (+0800) Subject: support ns package query for vf-c X-Git-Tag: 1.2.1~28 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F33%2F71133%2F1;p=usecase-ui%2Fserver.git support ns package query for vf-c Change-Id: Ibcccea666c56b81e9fd687425af88ca1bc542780 Issue-ID: USECASEUI-159 Signed-off-by: guochuyicmri --- 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 sdcNsPackageInfo(){ + return packageDistributionService.sdcNsPackageInfo(); + } + + @ResponseBody + @RequestMapping(value = {"/uui-lcm/sdc-vf-packages"}, method = RequestMethod.GET , produces = "application/json") + public List 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 sdcNsPackageInfo(); + + List 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 createNetworkServiceInstance(@Body RequestBody body); + @POST("/api/nslcm/v1/ns/{ns_instance_id}/instantiate") + Call instantiateNetworkServiceInstance(@Body RequestBody body,@Path("ns_instance_id") String nsInstanceId); + @DELETE("/api/nslcm/v1/ns/{ns_instance_id}") Call 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 nsTemplate = getNsTemplate(); - List vnf = getVFResource(); + List nsTemplate = sdcNsPackageInfo(); + List vnf = sdcVfPackageInfo(); return new VfNsPackageInfo(nsTemplate, vnf); - } catch (IOException e) { - throw new SDCCatalogException("SDC Service is not available!", e); - } } - - private List getVFResource() throws IOException { - Response> 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 sdcVfPackageInfo() { + try { + Response> 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 getNsTemplate() throws IOException { - Response> 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 sdcNsPackageInfo() { + try { + Response> 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 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; + } + }