*/
package org.opendaylight.unimgr.mef.nrp.common;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.LayerProtocol;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.LayerProtocolName;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.TerminationDirection;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.TerminationState;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.transfer.cost.pac.CostCharacteristic;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.transfer.cost.pac.CostCharacteristicBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.transfer.timing.pac.LatencyCharacteristic;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.transfer.timing.pac.LatencyCharacteristicBuilder;
-
-import java.util.Collections;
-import java.util.List;
+import org.opendaylight.unimgr.mef.nrp.api.TapiConstants;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.ServiceInterfacePointRef;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.connectivity.service.end.point.ServiceInterfacePoint;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.connectivity.service.end.point.ServiceInterfacePointBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.topology.constraint.IncludeNodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.NodeRef;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.OwnedNodeEdgePointRef;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.link.NodeEdgePointBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.node.edge.point.MappedServiceInterfacePoint;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.node.edge.point.MappedServiceInterfacePointBuilder;
/**
+ * Utility methods.
* @author bartosz.michalik@amartus.com
*/
-public class TapiUtils {
- public static org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.service._interface.point.LayerProtocol toSipPN(Class<? extends LayerProtocolName> name) {
- org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.service._interface.point.LayerProtocolBuilder builder
- = new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.service._interface.point.LayerProtocolBuilder();
+public final class TapiUtils {
- return builder.setLayerProtocolName(name).setLocalId(name.toString()).build();
+ private TapiUtils() {
}
+ @SuppressWarnings("unchecked")
+ public static <T extends ServiceInterfacePointRef> T toSipRef(Uuid uuid, Class<T> clazz) {
+ if (ServiceInterfacePoint.class.isAssignableFrom(clazz)) {
+ return (T) new ServiceInterfacePointBuilder().setServiceInterfacePointId(uuid).build();
+ }
+ if (MappedServiceInterfacePoint.class.isAssignableFrom(clazz)) {
+ return (T) new MappedServiceInterfacePointBuilder().setServiceInterfacePointId(uuid).build();
+ }
+ return null;
+ }
- public static org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.node.edge.point.LayerProtocol toNepPN(Class<? extends LayerProtocolName> name) {
- org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.node.edge.point.LayerProtocolBuilder builder
- = new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.node.edge.point.LayerProtocolBuilder();
+ public static NodeRef toNodeRef(Uuid nodeUuid) {
+ String topo = TapiConstants.PRESTO_ABSTRACT_NODE.equals(nodeUuid.getValue())
+ ? TapiConstants.PRESTO_EXT_TOPO : TapiConstants.PRESTO_SYSTEM_TOPO;
+ return toNodeRef(new Uuid(topo), nodeUuid);
+ }
- return builder
- .setLayerProtocolName(name)
- .setLocalId(name.toString())
- .setTerminationDirection(TerminationDirection.BIDIRECTIONAL)
- .setTerminationState(TerminationState.TERMINATEDBIDIRECTIONAL)
+ public static NodeRef toNodeRef(Uuid topoUuid, Uuid nodeUuid) {
+ return new IncludeNodeBuilder()
+ .setTopologyId(topoUuid)
+ .setNodeId(nodeUuid)
.build();
}
- public static List<LatencyCharacteristic> emptyTransferCost() {
- return Collections.singletonList(new LatencyCharacteristicBuilder()
- .setTrafficPropertyName("empty")
- .setTrafficPropertyQueingLatency("n/a").build()
- );
+ public static OwnedNodeEdgePointRef toSysNepRef(Uuid nodeUuid, Uuid nepUuid) {
+ return toNepRef(new Uuid(TapiConstants.PRESTO_SYSTEM_TOPO), nodeUuid, nepUuid);
}
- public static List<CostCharacteristic> emptyCostCharacteristic() {
- CostCharacteristic cost = new CostCharacteristicBuilder()
- .setCostName("empty")
- .setCostAlgorithm("n/a")
- .setCostValue("0")
+ public static OwnedNodeEdgePointRef toNepRef(Uuid topoUuid, Uuid nodeUuid, Uuid nepUuid) {
+ return new NodeEdgePointBuilder()
+ .setTopologyId(topoUuid)
+ .setNodeId(nodeUuid)
+ .setOwnedNodeEdgePointId(nepUuid)
.build();
- return Collections.singletonList(cost);
}
}