From 3edcf07d843a1822cd9199ae42059696e9bf2148 Mon Sep 17 00:00:00 2001 From: David Goldberg Date: Mon, 12 Sep 2016 17:00:00 +0300 Subject: [PATCH] Fix NPE and minor changes Change-Id: I2d90743d416d3b5e0cc3d641852638d5a0954beb Signed-off-by: David Goldberg --- netvirt/pom.xml | 1 + .../unimgr/mef/netvirt/EvcListener.java | 4 ++++ .../unimgr/mef/netvirt/MefUtils.java | 20 ++++++++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/netvirt/pom.xml b/netvirt/pom.xml index e6bfb085..e38613a5 100644 --- a/netvirt/pom.xml +++ b/netvirt/pom.xml @@ -43,6 +43,7 @@ * + org.opendaylight.unimgr.mef.netvirt diff --git a/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/EvcListener.java b/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/EvcListener.java index bab6307c..6ad67514 100644 --- a/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/EvcListener.java +++ b/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/EvcListener.java @@ -96,6 +96,10 @@ public class EvcListener extends UnimgrDataTreeChangeListener { NetvirtUtils.createElanInstance(dataBroker, instanceName, isEtree); } // Create interfaces + if (data.getUnis() == null) { + log.info("No UNI's in service {}, exiting", instanceName); + return; + } for (Uni uni : data.getUnis().getUni()) { if (!uni.isAdminStateEnabled()) { log.info("uni {} AdminStateEnabled false", uni.getUniId().getValue()); diff --git a/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/MefUtils.java b/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/MefUtils.java index e14a2f55..c08da4bc 100644 --- a/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/MefUtils.java +++ b/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/MefUtils.java @@ -37,6 +37,7 @@ import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.type import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.types.rev150526.EvcType; import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.types.rev150526.Identifier45; import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.types.rev150526.RetailSvcIdType; +import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.types.rev150526.EvcStatusType; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -59,6 +60,10 @@ public final class MefUtils { .child(Uni.class, new UniKey(new Identifier45(uniId))).build(); } + public static InstanceIdentifier getUniListInterfaceInstanceIdentifier() { + return InstanceIdentifier.builder(MefInterfaces.class).child(Unis.class).child(Uni.class).build(); + } + public static InstanceIdentifier getUnisInstanceIdentifier( String evcId) { return InstanceIdentifier.builder(MefServices.class) @@ -85,7 +90,20 @@ public final class MefUtils { } public static InstanceIdentifier getEvcInstanceIdentifier() { - return InstanceIdentifier.create(MefServices.class).child(MefService.class).child(Evc.class); + return getMefServiceInstanceIdentifier().child(Evc.class); + } + + public static InstanceIdentifier getMefServiceInstanceIdentifier() { + return InstanceIdentifier.create(MefServices.class).child(MefService.class); + } + + public static InstanceIdentifier getMefServiceInstanceIdentifier( + RetailSvcIdType retailSvcIdType) { + return InstanceIdentifier.create(MefServices.class).child(MefService.class, new MefServiceKey(retailSvcIdType)); + } + + public static InstanceIdentifier getMefServicesInstanceIdentifier() { + return InstanceIdentifier.create(MefServices.class); } public static void createEvcInstance(DataBroker dataBroker, String instanceName) { -- 2.36.6