X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Fopenroadminterface%2FOpenRoadmOdu4Interface.java;h=d5ba9dcd2604b03f417f1120041ed99ba79aebc8;hb=cf9fb538309b38c006fa30d79b3b799e4cc285a9;hp=17a1b29fb048d8d2bcb2a22964a74cdf035e7c3a;hpb=5e79ad5c7ce595242968d4a24e309b5ad66e1dbe;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOdu4Interface.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOdu4Interface.java index 17a1b29fb..d5ba9dcd2 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOdu4Interface.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOdu4Interface.java @@ -10,11 +10,20 @@ package org.opendaylight.transportpce.renderer.openroadminterface; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.MountPointService; +import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.InterfaceBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.InterfaceKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev161014.OtnOdu; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.Interface1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.Interface1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.ODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.OduAttributes.MonitoringMode; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.odu.container.OduBuilder; public class OpenRoadmOdu4Interface extends OpenRoadmInterfaces { - public OpenRoadmOdu4Interface(DataBroker db, MountPointService mps, String nodeId, String logicalConnPoint) { - super(db, mps, nodeId, logicalConnPoint); + public OpenRoadmOdu4Interface(DataBroker db, MountPointService mps, String nodeId, String logicalConnPoint, + String serviceName) { + super(db, mps, nodeId, logicalConnPoint, serviceName); } @@ -25,8 +34,28 @@ public class OpenRoadmOdu4Interface extends OpenRoadmInterfaces { * @return Name of the interface if successful, otherwise return null. */ - public String createInterface() { - // TODO:implement this method - return null; + public String createInterface(String supportingOtuInterface) { + + InterfaceBuilder oduInterfaceBldr = getIntfBuilder(portMap); + oduInterfaceBldr.setType(OtnOdu.class); + oduInterfaceBldr.setSupportingInterface(supportingOtuInterface); + oduInterfaceBldr.setName(logicalConnPoint + "-ODU"); + oduInterfaceBldr.setKey(new InterfaceKey(logicalConnPoint + "-ODU")); + + // ODU interface specific data + OduBuilder oduIfBuilder = new OduBuilder(); + oduIfBuilder.setRate(ODU4.class); + oduIfBuilder.setMonitoringMode(MonitoringMode.Monitored); + + // Create Interface1 type object required for adding as augmentation + Interface1Builder oduIf1Builder = new Interface1Builder(); + oduInterfaceBldr.addAugmentation(Interface1.class, oduIf1Builder.setOdu(oduIfBuilder.build()).build()); + + // Post interface on the device + if (postInterface(oduInterfaceBldr)) { + return oduInterfaceBldr.getName(); + } else { + return null; + } } }