Fix Subinterface acl initalizer NPE
authorMaros Marsalek <mmarsale@cisco.com>
Thu, 21 Jul 2016 13:53:33 +0000 (15:53 +0200)
committerMarek Gradzki <mgradzki@cisco.com>
Mon, 25 Jul 2016 09:05:08 +0000 (09:05 +0000)
Change-Id: Ibd1b1cf66d702e440c2a575f69a977347f638e17
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/initializers/SubInterfaceInitializationUtils.java
v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/initializers/VppClasifierInitializer.java

index 51adcc8..aa717cf 100644 (file)
@@ -78,11 +78,13 @@ final class SubInterfaceInitializationUtils {
         subInterfaceCfgBuilder.setIpv4(operationalData.getIpv4());
         subInterfaceCfgBuilder.setIpv6(operationalData.getIpv6());
 
-        final AclBuilder aclBuilder = new AclBuilder();
-        aclBuilder.setL2Acl(operationalData.getAcl().getL2Acl());
-        aclBuilder.setIp4Acl(operationalData.getAcl().getIp4Acl());
-        aclBuilder.setIp6Acl(operationalData.getAcl().getIp6Acl());
-        subInterfaceCfgBuilder.setAcl(aclBuilder.build());
+        if (operationalData.getAcl() != null) {
+            final AclBuilder aclBuilder = new AclBuilder();
+            aclBuilder.setL2Acl(operationalData.getAcl().getL2Acl());
+            aclBuilder.setIp4Acl(operationalData.getAcl().getIp4Acl());
+            aclBuilder.setIp6Acl(operationalData.getAcl().getIp6Acl());
+            subInterfaceCfgBuilder.setAcl(aclBuilder.build());
+        }
 
         return subInterfaceCfgBuilder.build();
     }
index 74a1cfd..0881f1a 100644 (file)
 package io.fd.honeycomb.v3po.translate.v3po.initializers;
 
 import io.fd.honeycomb.v3po.vpp.data.init.AbstractDataTreeConverter;
-import java.util.stream.Collectors;
 import javax.annotation.Nonnull;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.VppClassifier;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.VppClassifierBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.VppClassifierState;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.classifier.rev150603.vpp.classifier.ClassifyTableBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
@@ -41,9 +39,10 @@ public class VppClasifierInitializer extends AbstractDataTreeConverter<VppClassi
     @Override
     protected VppClassifier convert(final VppClassifierState operationalData) {
         final VppClassifierBuilder builder = new VppClassifierBuilder();
-        builder.setClassifyTable(operationalData.getClassifyTable().stream()
-            .map(oper -> new ClassifyTableBuilder(oper).build())
-            .collect(Collectors.toList()));
+        // TODO finish translation classify table key + mandatory fields at least must be set
+//        builder.setClassifyTable(operationalData.getClassifyTable().stream()
+//            .map(oper -> new ClassifyTableBuilder(oper).build())
+//            .collect(Collectors.toList()));
         return builder.build();
     }
 }