X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Fopenroadminterface%2FOpenRoadmOtu4Interface.java;h=9881212c3369c13494237799b8a001a6c6786085;hb=cf9fb538309b38c006fa30d79b3b799e4cc285a9;hp=7597b366a60b496dca7f661f6fe449706bdc4ad7;hpb=5a4ddc3dc00dbb33d383c8464411d76e6380f682;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOtu4Interface.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOtu4Interface.java index 7597b366a..9881212c3 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOtu4Interface.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOtu4Interface.java @@ -10,11 +10,21 @@ 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.OtnOtu; + +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.Interface1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.Interface1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.OTU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.OtuAttributes.Fec; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.otu.container.OtuBuilder; public class OpenRoadmOtu4Interface extends OpenRoadmInterfaces { - public OpenRoadmOtu4Interface(DataBroker db, MountPointService mps, String nodeId, String logicalConnPoint) { - super(db, mps, nodeId, logicalConnPoint); + public OpenRoadmOtu4Interface(DataBroker db, MountPointService mps, String nodeId, String logicalConnPoint, + String serviceName) { + super(db, mps, nodeId, logicalConnPoint, serviceName); } @@ -25,9 +35,28 @@ public class OpenRoadmOtu4Interface 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 supportOchInterface) { + // Create generic interface + InterfaceBuilder otuInterfaceBldr = getIntfBuilder(portMap); + otuInterfaceBldr.setType(OtnOtu.class); + otuInterfaceBldr.setSupportingInterface(supportOchInterface); + otuInterfaceBldr.setName(logicalConnPoint + "-OTU"); + otuInterfaceBldr.setKey(new InterfaceKey(logicalConnPoint + "-OTU")); + + // OTU interface specific data + OtuBuilder otuIfBuilder = new OtuBuilder(); + otuIfBuilder.setFec(Fec.Scfec); + otuIfBuilder.setRate(OTU4.class); + + // Create Interface1 type object required for adding as augmentation + Interface1Builder otuIf1Builder = new Interface1Builder(); + otuInterfaceBldr.addAugmentation(Interface1.class, otuIf1Builder.setOtu(otuIfBuilder.build()).build()); + + // Post interface on the device + if (postInterface(otuInterfaceBldr)) { + return otuInterfaceBldr.getName(); + } else { + return null; + } } - }