add endpoints for getVpnList and getActiveNetworkList 31/92831/1
authorEylon Malin <eylon.malin@intl.att.com>
Tue, 6 Aug 2019 16:23:29 +0000 (19:23 +0300)
committerEylon Malin <eylon.malin@intl.att.com>
Tue, 6 Aug 2019 16:23:29 +0000 (19:23 +0300)
Issue-ID: VID-378
Signed-off-by: Eylon Malin <eylon.malin@intl.att.com>
Change-Id: Iede126556df337b1ab70dd76c9452f4b51e11376

vid-app-common/src/main/java/org/onap/vid/controller/AaiController2.java

index 19187e0..d7d2f85 100644 (file)
 
 package org.onap.vid.controller;
 
+import java.util.stream.Collectors;
+import org.apache.commons.lang3.StringUtils;
 import org.onap.vid.aai.AaiClientInterface;
 import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
 import org.onap.vid.aai.model.Permissions;
+import org.onap.vid.model.aaiTree.Network;
 import org.onap.vid.model.aaiTree.RelatedVnf;
+import org.onap.vid.model.aaiTree.VpnBinding;
 import org.onap.vid.roles.RoleProvider;
 import org.onap.vid.services.AaiService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -94,5 +98,22 @@ public class AaiController2 extends VidRestrictedBaseController {
         return aaiService.searchGroupMembers(globalCustomerId, serviceType, invariantId, groupType, groupRole);
     }
 
+    @RequestMapping(value = "/aai_get_vpn_list", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
+    public List<VpnBinding> getVpnList() {
+        return aaiService.getVpnListByVpnType("SERVICE-INFRASTRUCTURE");
+    }
 
+    @RequestMapping(value = "/aai_get_active_networks",
+        method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
+    public List<Network> getActiveNetworkList(
+        @RequestParam("cloudRegion") String cloudRegion,
+        @RequestParam("tenantId") String tenantId,
+        @RequestParam(value = "networkRole", required = false) String networkRole) {
+        return aaiService.getL3NetworksByCloudRegion(cloudRegion, tenantId, networkRole)
+            .stream()
+            .filter(Network::isBoundToVpn)
+            .filter(network -> StringUtils.isNotEmpty(network.getInstanceName()))
+            .filter(network -> StringUtils.equalsIgnoreCase(network.getOrchStatus(), "active"))
+            .collect(Collectors.toList());
+    }
 }