X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Fopenroadminterface%2FOpenRoadmInterface221.java;h=ea97b252c34b7e4d2466069a82b58820595526db;hb=629159430cb4074a4300b11a90a64003346dcc5b;hp=a8b2016b310548cc1498a8c727ef9b3006c5e78b;hpb=6eca761ea7b65b2eb996a0a845efe5df6da526e8;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterface221.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterface221.java index a8b2016b3..ea97b252c 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterface221.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterface221.java @@ -51,6 +51,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interface import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.OtsAttributes; import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.ots.container.OtsBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.ODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.ODUTTP; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.OTU4; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.PayloadTypeDef; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.OduAttributes; @@ -66,7 +67,7 @@ public class OpenRoadmInterface221 { private final PortMapping portMapping; private final OpenRoadmInterfaces openRoadmInterfaces; private FixedFlexInterface fixedFlex; - private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmInterfaceFactory.class); + private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmInterface221.class); public OpenRoadmInterface221(PortMapping portMapping, OpenRoadmInterfaces openRoadmInterfaces, FixedFlexInterface fixedFlex) { @@ -413,4 +414,46 @@ public class OpenRoadmInterface221 { return false; } + public String createOpenRoadmOtnOdu4Interface(String nodeId, String logicalConnPoint, String supportingOtuInterface) + throws OpenRoadmInterfaceException { + Mapping portMap = portMapping.getMapping(nodeId, logicalConnPoint); + if (portMap == null) { + throw new OpenRoadmInterfaceException( + String.format("Unable to get mapping from PortMapping for node % and logical connection port %s", + nodeId, logicalConnPoint)); + } + InterfaceBuilder oduInterfaceBldr = createGenericInterfaceBuilder(portMap, OtnOdu.class, + logicalConnPoint + "-ODU4"); + oduInterfaceBldr.setSupportingInterface(supportingOtuInterface); + + // ODU interface specific data + OduBuilder oduIfBuilder = new OduBuilder(); + oduIfBuilder.setRate(ODU4.class); + oduIfBuilder.setMonitoringMode(OduAttributes.MonitoringMode.Terminated); + if (!nodeId.toLowerCase().contains("eci")) { + oduIfBuilder.setTxDapi(""); + oduIfBuilder.setTxSapi(""); + } + oduIfBuilder.setOduFunction(ODUTTP.class); + + // Set Opu attributes + OpuBuilder opuBldr = new OpuBuilder(); + opuBldr.setPayloadType(PayloadTypeDef.getDefaultInstance("21")); + opuBldr.setExpPayloadType(PayloadTypeDef.getDefaultInstance("21")); + oduIfBuilder.setOpu(opuBldr.build()); + + // Create Interface1 type object required for adding as augmentation + // TODO look at imports of different versions of class + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder oduIf1Builder = + new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder(); + oduInterfaceBldr.addAugmentation( + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class, + oduIf1Builder.setOdu(oduIfBuilder.build()).build()); + + // Post interface on the device + openRoadmInterfaces.postInterface(nodeId, oduInterfaceBldr); + this.portMapping.updateMapping(nodeId, portMap); + return oduInterfaceBldr.getName(); + } + }