Merge dev/fluorine work across to master
[unimgr.git] / netvirt / src / main / java / org / opendaylight / unimgr / mef / netvirt / MefInterfaceUtils.java
diff --git a/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/MefInterfaceUtils.java b/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/MefInterfaceUtils.java
deleted file mode 100644 (file)
index 19fd125..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (c) 2016 Hewlett Packard Enterprise, Co. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.unimgr.mef.netvirt;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.genius.interfacemanager.globals.IfmConstants;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.MefInterfaces;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.Subnets;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.Unis;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.subnets.Subnet;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.subnets.SubnetKey;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.Uni;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.UniKey;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.IpUnis;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.PhysicalLayers;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.ip.unis.IpUni;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.ip.unis.IpUniKey;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.physical.layers.Links;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.physical.layers.links.Link;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.physical.layers.links.LinkKey;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.MefTopology;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.Devices;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.devices.Device;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.devices.DeviceKey;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.devices.device.Interfaces;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.devices.device.interfaces.Interface;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.devices.device.interfaces.InterfaceKey;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.types.rev150526.Identifier45;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Optional;
-
-public final class MefInterfaceUtils {
-    private static final Logger logger = LoggerFactory.getLogger(MefInterfaceUtils.class);
-    public final static String VLAN_SEPARATOR = ".";
-    private final static String TRUNK_SUFFIX = "-trunk";
-
-    public static InstanceIdentifier<Interface> getDeviceInterfaceInstanceIdentifier(String deviceId,
-            String interfaceId) {
-        return InstanceIdentifier.builder(MefTopology.class).child(Devices.class)
-                .child(Device.class, new DeviceKey(new Identifier45(deviceId))).child(Interfaces.class)
-                .child(Interface.class, new InterfaceKey(new Identifier45(interfaceId))).build();
-    }
-
-    public static InstanceIdentifier<Uni> getUniInstanceIdentifier(String uniId) {
-        return InstanceIdentifier.builder(MefInterfaces.class).child(Unis.class)
-                .child(Uni.class, new UniKey(new Identifier45(uniId))).build();
-    }
-
-    public static InstanceIdentifier<Uni> getUniListInstanceIdentifier() {
-        return InstanceIdentifier.builder(MefInterfaces.class).child(Unis.class).child(Uni.class).build();
-    }
-
-    public static InstanceIdentifier<Link> getUniLinkInstanceIdentifier(String uniId, String deviceId,
-            String interfaceId) {
-        return InstanceIdentifier.builder(MefInterfaces.class).child(Unis.class)
-                .child(Uni.class, new UniKey(new Identifier45(uniId))).child(PhysicalLayers.class).child(Links.class)
-                .child(Link.class, new LinkKey(new Identifier45(deviceId), interfaceId)).build();
-    }
-
-    private static InstanceIdentifier<IpUni> getIpUniInstanceIdentifier(Identifier45 uniId, Identifier45 ipUniId) {
-        return InstanceIdentifier.builder(MefInterfaces.class).child(Unis.class)
-                .child(Uni.class, new UniKey(uniId)).child(IpUnis.class)
-                .child(IpUni.class, new IpUniKey(ipUniId)).build();
-    }
-
-    public static InstanceIdentifier<Subnets> getSubnetListInstanceIdentifier() {
-        return InstanceIdentifier.builder(MefInterfaces.class).child(Subnets.class).build();
-    }
-
-    public static InstanceIdentifier<Subnet> getSubnetsInstanceIdentifier() {
-        return InstanceIdentifier.builder(MefInterfaces.class).child(Subnets.class).child(Subnet.class).build();
-    }
-
-    public static InstanceIdentifier<Subnet> getSubnetInstanceIdentifier(Identifier45 uniId, Identifier45 ipUniId,
-            IpPrefix subnet) {
-        return InstanceIdentifier.builder(MefInterfaces.class).child(Subnets.class)
-
-                .child(Subnet.class, new SubnetKey(ipUniId, subnet, uniId)).build();
-    }
-
-    public static Link getLink(DataBroker dataBroker, String uniId, LogicalDatastoreType datastoreType) {
-        Uni uni = getUni(dataBroker, uniId, datastoreType);
-
-        if (uni == null) {
-            logger.error("A matching Uni doesn't exist for EvcUni {}", uniId);
-            return null;
-        }
-
-        PhysicalLayers physicalLayers = uni.getPhysicalLayers();
-        if (physicalLayers == null) {
-            logger.warn("Uni {} is missing PhysicalLayers", uniId);
-            return null;
-        }
-
-        Links links = physicalLayers.getLinks();
-        if (links == null || links.getLink() == null) {
-            logger.warn("Uni {} is has no links", uniId);
-            return null;
-        }
-
-        Link link = links.getLink().get(0);
-        return link;
-    }
-
-    public static Uni getUni(DataBroker dataBroker, String uniId, LogicalDatastoreType datastoreType) {
-        Optional<Uni> optional = MdsalUtils.read(dataBroker, datastoreType,
-                MefInterfaceUtils.getUniInstanceIdentifier(uniId));
-
-        if (!optional.isPresent()) {
-            logger.debug("A matching Uni doesn't exist {}", uniId);
-            return null;
-        }
-
-        return optional.get();
-    }
-
-    public static IpUni getIpUni(DataBroker dataBroker, Identifier45 uniId, Identifier45 ipUniId,
-            LogicalDatastoreType datastoreType) {
-        Optional<IpUni> optional = MdsalUtils.read(dataBroker, datastoreType,
-                MefInterfaceUtils.getIpUniInstanceIdentifier(uniId, ipUniId));
-
-        if (!optional.isPresent()) {
-            logger.error("A matching IpUni doesn't exist Uni {} IpUni {}", uniId, ipUniId);
-            return null;
-        }
-
-        return optional.get();
-    }
-
-    public static Interface getInterface(DataBroker dataBroker, String deviceId, String uniId,
-            LogicalDatastoreType datastoreType) {
-        InstanceIdentifier<Interface> interfacePath = MefInterfaceUtils.getDeviceInterfaceInstanceIdentifier(deviceId,
-                uniId);
-        Optional<Interface> optional = MdsalUtils.read(dataBroker, datastoreType, interfacePath);
-
-        if (!optional.isPresent()) {
-            logger.debug("A matching Uni doesn't exist {}", uniId);
-            return null;
-        }
-
-        return optional.get();
-    }
-
-    public static String getInterfaceNameForVlan(String interfaceName, Long vlan) {
-        final StringBuilder s = new StringBuilder();
-        s.append(interfaceName);
-        if (vlan != null) {
-            s.append(VLAN_SEPARATOR).append(vlan);
-        }
-        s.append(TRUNK_SUFFIX);
-
-        return getUUidFromString(s.toString());
-    }
-
-    private static String getUUidFromString(String key) {
-        return java.util.UUID.nameUUIDFromBytes(key.getBytes()).toString();
-    }
-
-    public static String getTrunkParentName(Link link) {
-        String interfaceName = link.getInterface().toString();
-        return interfaceName;
-    }
-
-    public static String getInterfaceName(Link link, String uniId) {
-        String device = link.getDevice().getValue();
-        return getDeviceInterfaceName(device, uniId);
-    }
-
-    public static String getDeviceInterfaceName(String deviceName, String interfaceName) {
-        return deviceName + IfmConstants.OF_URI_SEPARATOR + interfaceName;
-    }
-}