+ public static List<RetailSvcIdType> getAllIpvcsServiceIds(DataBroker dataBroker) {
+ List<RetailSvcIdType> toReturn = new ArrayList<>();
+
+ InstanceIdentifier<MefServices> path = MefServicesUtils.getMefServicesInstanceIdentifier();
+ Optional<MefServices> mefServices = MdsalUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION, path);
+ if (!mefServices.isPresent() || mefServices.get() == null) {
+ return toReturn;
+ }
+ for (MefService service : mefServices.get().getMefService()) {
+ if (service.getMefServiceChoice() instanceof IpvcChoice) {
+ toReturn.add(service.getSvcId());
+ }
+ }
+ return toReturn;
+ }
+
+ public static List<RetailSvcIdType> getAllEvcsServiceIds(DataBroker dataBroker) {
+ List<RetailSvcIdType> toReturn = new ArrayList<>();
+
+ InstanceIdentifier<MefServices> path = MefServicesUtils.getMefServicesInstanceIdentifier();
+ Optional<MefServices> mefServices = MdsalUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION, path);
+ if (!mefServices.isPresent() || mefServices.get() == null) {
+ return toReturn;
+ }
+ for (MefService service : mefServices.get().getMefService()) {
+ if (service.getMefServiceChoice() instanceof EvcChoice) {
+ toReturn.add(service.getSvcId());
+ }
+ }
+ return toReturn;
+ }
+
+ public static Optional<MefService> getOpMefServiceBySvcId(DataBroker dataBroker, RetailSvcIdType svcId) {
+ InstanceIdentifier<MefService> mefServiceIdr = InstanceIdentifier.builder(MefServices.class)
+ .child(MefService.class, new MefServiceKey(svcId)).build();
+ return MdsalUtils.read(dataBroker, LogicalDatastoreType.OPERATIONAL, mefServiceIdr);
+ }
+
+ public static VpnElans getVpnElanByIpUniId(List<VpnElans> vpnElansList, String ipUniId) {
+ if (!vpnElansList.isEmpty()) {
+ for (VpnElans vpnElan : vpnElansList) {
+ if (vpnElan.getIpUniId() != null && vpnElan.getIpUniId().getValue().equals(ipUniId)) {
+ return vpnElan;
+ }
+ }
+ }
+ return null;
+ }
+
+ public static String getNetworkIdFromOpMefService(MefService opMefService, String unimgrNetworkId) {
+ if (opMefService.getMefServiceChoice() instanceof EvcChoice) {
+ return ((EvcChoice) opMefService.getMefServiceChoice()).getEvc().getAugmentation(EvcElan.class)
+ .getElanId();
+ } else if (opMefService.getMefServiceChoice() instanceof IpvcChoice) {
+ List<VpnElans> vpnElansList = ((IpvcChoice) opMefService.getMefServiceChoice()).getIpvc()
+ .getAugmentation(IpvcVpn.class).getVpnElans();
+ VpnElans vpnElan = MefServicesUtils.getVpnElanByIpUniId(vpnElansList, unimgrNetworkId);
+ if (vpnElan != null) {
+ return vpnElan.getElanId();
+ }
+ }
+ return null;
+ }
+