support ns package query for vf-c 33/71133/1
authorguochuyicmri <guochuyi@chinamobile.com>
Wed, 24 Oct 2018 09:38:22 +0000 (17:38 +0800)
committerguochuyicmri <guochuyi@chinamobile.com>
Wed, 24 Oct 2018 09:46:39 +0000 (17:46 +0800)
Change-Id: Ibcccea666c56b81e9fd687425af88ca1bc542780
Issue-ID: USECASEUI-159
Signed-off-by: guochuyicmri <guochuyi@chinamobile.com>
server/src/main/java/org/onap/usecaseui/server/controller/lcm/PackageDistributionController.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/PackageDistributionService.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/vfc/VfcService.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultPackageDistributionService.java

index bb6c06d..350978b 100644 (file)
@@ -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);
index 5f5ccc8..6a0d2d9 100644 (file)
  */
 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);
index 0dd91a9..da0fabe 100644 (file)
@@ -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);
     
index 4234e92..70b6866 100644 (file)
@@ -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;
+       }
+
 }