1 package io.fd.honeycomb.v3po.translate.v3po.initializers;
3 import com.google.common.collect.Lists;
4 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder;
5 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.SubInterfaceStatus;
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.SubinterfaceAugmentation;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.SubinterfaceAugmentationBuilder;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.SubinterfaceStateAugmentation;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces._interface.sub.interfaces.SubInterfaceKey;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces.state._interface.SubInterfaces;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces.state._interface.sub.interfaces.SubInterface;
14 * Utility class for sub interface initialization
16 final class SubInterfaceInitializationUtils {
18 private SubInterfaceInitializationUtils() {
19 throw new UnsupportedOperationException("Utility class cannot be instantiated");
22 static void initializeSubinterfaceStateAugmentation(
23 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface input,
24 final InterfaceBuilder builder) {
25 final SubinterfaceStateAugmentation subIfcAugmentation =
26 input.getAugmentation(SubinterfaceStateAugmentation.class);
27 if (subIfcAugmentation != null) {
28 final SubinterfaceAugmentationBuilder augmentBuilder = new SubinterfaceAugmentationBuilder();
30 final SubInterfaces subInterfaces = subIfcAugmentation.getSubInterfaces();
31 if (subInterfaces != null) {
32 setSubInterfaces(augmentBuilder, subInterfaces);
35 builder.addAugmentation(SubinterfaceAugmentation.class, augmentBuilder.build());
39 private static void setSubInterfaces(final SubinterfaceAugmentationBuilder augmentBuilder,
40 final SubInterfaces operationalData) {
42 final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces._interface.SubInterfacesBuilder
43 subInterfacesCfgBuilder =
44 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces._interface.SubInterfacesBuilder();
45 subInterfacesCfgBuilder.setSubInterface(Lists.transform(operationalData.getSubInterface(),
46 SubInterfaceInitializationUtils::convertSubInterface));
47 augmentBuilder.setSubInterfaces(subInterfacesCfgBuilder.build());
50 private static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces._interface.sub.interfaces.SubInterface convertSubInterface(
51 final SubInterface operationalData) {
52 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces._interface.sub.interfaces.SubInterfaceBuilder subInterfaceCfgBuilder =
53 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev150527.interfaces._interface.sub.interfaces.SubInterfaceBuilder();
55 subInterfaceCfgBuilder.setEnabled(SubInterfaceStatus.Up.equals(operationalData.getAdminStatus()));
56 subInterfaceCfgBuilder.setIdentifier(operationalData.getIdentifier());
57 subInterfaceCfgBuilder.setKey(new SubInterfaceKey(operationalData.getIdentifier()));
58 subInterfaceCfgBuilder.setL2(operationalData.getL2());
59 subInterfaceCfgBuilder.setMatch(operationalData.getMatch());
60 subInterfaceCfgBuilder.setTags(operationalData.getTags());
61 subInterfaceCfgBuilder.setVlanType(operationalData.getVlanType());
63 return subInterfaceCfgBuilder.build();