X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pce%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fpce%2FPcePathDescription.java;h=bc15bf50e68b4a0a30f3744cd6c1653fbc42d30e;hb=66716f66f3fd859a9bbfceac0a50f2e67e626e92;hp=ff38b749685fe29d7721622b403a41b03a7b2f4b;hpb=7ea354677f9b8ee0b160a7b636c51bb0bedfcd7b;p=transportpce.git diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/PcePathDescription.java b/pce/src/main/java/org/opendaylight/transportpce/pce/PcePathDescription.java index ff38b7496..bc15bf50e 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/PcePathDescription.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/PcePathDescription.java @@ -8,29 +8,29 @@ package org.opendaylight.transportpce.pce; import com.google.common.collect.ImmutableList; - import java.util.ArrayList; import java.util.List; import java.util.Map; - import org.opendaylight.transportpce.common.ResponseCodes; import org.opendaylight.transportpce.pce.networkanalyzer.PceLink; import org.opendaylight.transportpce.pce.networkanalyzer.PceResult; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZ; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ztoa.direction.ZToA; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ztoa.direction.ZToABuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ztoa.direction.ZToAKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.Resource; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.ResourceBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.LinkBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.NodeBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.TerminationPoint; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.TerminationPointBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.AToZDirectionBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.ZToADirectionBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.atoz.direction.AToZ; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.atoz.direction.AToZBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.atoz.direction.AToZKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.ztoa.direction.ZToA; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.ztoa.direction.ZToABuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.ztoa.direction.ZToAKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource.Resource; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource.ResourceBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource.resource.resource.LinkBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource.resource.resource.NodeBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource.resource.resource.TerminationPoint; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource.resource.resource.TerminationPointBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId; +import org.opendaylight.yangtools.yang.common.Uint16; +import org.opendaylight.yangtools.yang.common.Uint32; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -61,13 +61,21 @@ public class PcePathDescription { buildAtoZ(atozList, pathAtoZ); AToZDirectionBuilder atoZDirectionBldr = new AToZDirectionBuilder() - .setRate(rc.getRate()) + .setRate(Uint32.valueOf(rc.getRate())) .setAToZ(atozList); if ("100GE".equals(rc.getServiceType()) || "OTU4".equals(rc.getServiceType())) { - atoZDirectionBldr.setAToZWavelengthNumber(rc.getResultWavelength()); + atoZDirectionBldr.setAToZWavelengthNumber(Uint32.valueOf(rc.getResultWavelength())); } else if ("10GE".equals(rc.getServiceType()) || "1GE".equals(rc.getServiceType()) || "ODU4".equals(rc.getServiceType())) { - atoZDirectionBldr.setAToZWavelengthNumber(Long.valueOf(0)); + if (rc.getResultTribSlot() != null && rc.getResultTribPort() != null) { + List tribSlotList = (List) rc.getResultTribSlot().values().toArray()[0]; + atoZDirectionBldr.setAToZWavelengthNumber(Uint32.valueOf(0)) + .setTribPortNumber(Uint16.valueOf(rc.getResultTribPort().values().toArray()[0].toString())) + .setTribSlotNumber(tribSlotList.get(0)); + } else { + LOG.error("Trib port and trib slot number should be present"); + atoZDirectionBldr.setTribSlotNumber(Uint16.valueOf(0)).setTribPortNumber(Uint16.valueOf(0)); + } } rc.setAtoZDirection(atoZDirectionBldr.build()); pathZtoA = ImmutableList.copyOf(pathAtoZ).reverse(); @@ -81,13 +89,21 @@ public class PcePathDescription { } buildZtoA(ztoaList, pathZtoA); ZToADirectionBuilder ztoADirectionBldr = new ZToADirectionBuilder() - .setRate(rc.getRate()) + .setRate(Uint32.valueOf(rc.getRate())) .setZToA(ztoaList); if ("100GE".equals(rc.getServiceType()) || "OTU4".equals(rc.getServiceType())) { - ztoADirectionBldr.setZToAWavelengthNumber(rc.getResultWavelength()); + ztoADirectionBldr.setZToAWavelengthNumber(Uint32.valueOf(rc.getResultWavelength())); } else if ("10GE".equals(rc.getServiceType()) || "1GE".equals(rc.getServiceType()) || "ODU4".equals(rc.getServiceType())) { - ztoADirectionBldr.setZToAWavelengthNumber(Long.valueOf(0)); + if (rc.getResultTribSlot() != null && rc.getResultTribPort() != null) { + List tribSlotList = (List) rc.getResultTribSlot().values().toArray()[0]; + ztoADirectionBldr.setZToAWavelengthNumber(Uint32.valueOf(0)) + .setTribPortNumber(Uint16.valueOf(rc.getResultTribPort().values().toArray()[0].toString())) + .setTribSlotNumber(tribSlotList.get(0)); + } else { + LOG.error("Trib port and trib slot number should be present"); + ztoADirectionBldr.setTribSlotNumber(Uint16.valueOf(0)).setTribPortNumber(Uint16.valueOf(0)); + } } rc.setZtoADirection(ztoADirectionBldr.build()); @@ -114,7 +130,7 @@ public class PcePathDescription { for (PceLink pcelink : path) { String srcName = pcelink.getSourceId().getValue(); // Nodes - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce + org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce .resource.resource.resource.Node sourceNode = new NodeBuilder() .setNodeId(srcName) .build(); @@ -141,7 +157,7 @@ public class PcePathDescription { String linkName = pcelink.getLinkId().getValue(); // Link - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce + org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce .resource.resource.resource.Link atozLink = new LinkBuilder() .setLinkId(linkName) .build(); @@ -167,7 +183,7 @@ public class PcePathDescription { index += 1; etoeList.add(ttpResource); - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce + org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce .resource.resource.resource.Node targetNode = new NodeBuilder() .setNodeId(destName) .build(); @@ -225,7 +241,7 @@ public class PcePathDescription { // Nodes - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce + org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce .resource.resource.resource.Node sourceNode = new NodeBuilder() .setNodeId(srcName).build(); @@ -252,7 +268,7 @@ public class PcePathDescription { String linkName = pcelink.getLinkId().getValue(); // Link - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce + org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce .resource.resource.resource.Link ztoaLink = new LinkBuilder() .setLinkId(linkName).build(); @@ -277,7 +293,7 @@ public class PcePathDescription { etoelist.add(ttpResource); - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce + org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce .resource.resource.resource.Node targetNode = new NodeBuilder() .setNodeId(destName).build(); // Target Resource