import org.opendaylight.transportpce.common.fixedflex.GridConstant;
import org.opendaylight.transportpce.pce.networkanalyzer.PceLink;
import org.opendaylight.transportpce.pce.networkanalyzer.PceResult;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev211210.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.ModulationFormat;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.path.description.AToZDirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.path.description.ZToADirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.path.description.atoz.direction.AToZ;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.path.description.atoz.direction.AToZBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.path.description.atoz.direction.AToZKey;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.path.description.ztoa.direction.ZToA;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.path.description.ztoa.direction.ZToABuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.path.description.ztoa.direction.ZToAKey;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce.resource.Resource;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce.resource.ResourceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce.resource.resource.resource.LinkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce.resource.resource.resource.NodeBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce.resource.resource.resource.TerminationPoint;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce.resource.resource.resource.TerminationPointBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.OpucnTribSlotDef;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ZToADirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.atoz.direction.AToZ;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.atoz.direction.AToZBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.atoz.direction.AToZKey;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ztoa.direction.ZToA;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ztoa.direction.ZToABuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ztoa.direction.ZToAKey;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.Resource;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.ResourceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.resource.LinkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.resource.NodeBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.resource.TerminationPoint;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.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.Decimal64;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
.getOrDefault(Uint32.valueOf(rc.getRate()), ModulationFormat.DpQpsk).getName())
.setAToZ(atozMap);
switch (rc.getServiceType()) {
- case StringConstants.SERVICE_TYPE_100GE:
+ case StringConstants.SERVICE_TYPE_400GE:
+ case StringConstants.SERVICE_TYPE_OTUC2:
+ case StringConstants.SERVICE_TYPE_OTUC3:
+ case StringConstants.SERVICE_TYPE_OTUC4:
+ case StringConstants.SERVICE_TYPE_100GE_T:
case StringConstants.SERVICE_TYPE_OTU4:
- atoZDirectionBldr.setAToZMaxFrequency(new FrequencyTHz(rc.getMaxFreq()));
- atoZDirectionBldr.setAToZMinFrequency(new FrequencyTHz(rc.getMinFreq()));
+ atoZDirectionBldr.setAToZMaxFrequency(new FrequencyTHz(Decimal64.valueOf(rc.getMaxFreq())));
+ atoZDirectionBldr.setAToZMinFrequency(new FrequencyTHz(Decimal64.valueOf(rc.getMinFreq())));
atoZDirectionBldr.setAToZWavelengthNumber(Uint32.valueOf(rc.getResultWavelength()));
break;
+ case StringConstants.SERVICE_TYPE_100GE_M:
+ case StringConstants.SERVICE_TYPE_100GE_S:
case StringConstants.SERVICE_TYPE_10GE:
case StringConstants.SERVICE_TYPE_1GE:
case StringConstants.SERVICE_TYPE_ODU4:
- if (rc.getResultTribSlot() != null && rc.getResultTribPort() != null) {
- @SuppressWarnings("unchecked")
- List<Uint16> tribSlotList = (List<Uint16>) rc.getResultTribSlot().values().toArray()[0];
+ case StringConstants.SERVICE_TYPE_ODUC2:
+ case StringConstants.SERVICE_TYPE_ODUC3:
+ case StringConstants.SERVICE_TYPE_ODUC4:
+ if (rc.getResultTribPortTribSlot() != null && rc.getResultTribPortTribSlot().get(0) != null
+ && rc.getResultTribPortTribSlot().get(1) != null) {
atoZDirectionBldr.setAToZWavelengthNumber(Uint32.valueOf(0))
- .setTribPortNumber(Uint16.valueOf(rc.getResultTribPort().values().toArray()[0].toString()))
- .setTribSlotNumber(tribSlotList.get(0));
+ .setMinTribSlot(rc.getResultTribPortTribSlot().get(0))
+ .setMaxTribSlot(rc.getResultTribPortTribSlot().get(1));
} else {
- LOG.error("Trib port and trib slot number should be present");
- atoZDirectionBldr.setTribSlotNumber(Uint16.valueOf(0)).setTribPortNumber(Uint16.valueOf(0));
+ LOG.warn("Trib port and trib slot number should be present");
+ atoZDirectionBldr.setMinTribSlot(new OpucnTribSlotDef("0.0"))
+ .setMaxTribSlot(new OpucnTribSlotDef("0.0"));
}
break;
default:
+ LOG.warn("unknown service type : unable to set Min/Max frequencies or trib-port/trib-slot");
break;
}
return atoZDirectionBldr;
.getOrDefault(Uint32.valueOf(rc.getRate()), ModulationFormat.DpQpsk).getName())
.setZToA(ztoaMap);
switch (rc.getServiceType()) {
- case StringConstants.SERVICE_TYPE_100GE:
+ case StringConstants.SERVICE_TYPE_400GE:
+ case StringConstants.SERVICE_TYPE_OTUC2:
+ case StringConstants.SERVICE_TYPE_OTUC3:
+ case StringConstants.SERVICE_TYPE_OTUC4:
+ case StringConstants.SERVICE_TYPE_100GE_T:
case StringConstants.SERVICE_TYPE_OTU4:
- ztoADirectionBldr.setZToAMaxFrequency(new FrequencyTHz(rc.getMaxFreq()));
- ztoADirectionBldr.setZToAMinFrequency(new FrequencyTHz(rc.getMinFreq()));
+ ztoADirectionBldr.setZToAMaxFrequency(new FrequencyTHz(Decimal64.valueOf(rc.getMaxFreq())));
+ ztoADirectionBldr.setZToAMinFrequency(new FrequencyTHz(Decimal64.valueOf(rc.getMinFreq())));
ztoADirectionBldr.setZToAWavelengthNumber(Uint32.valueOf(rc.getResultWavelength()));
break;
+ case StringConstants.SERVICE_TYPE_100GE_M:
+ case StringConstants.SERVICE_TYPE_100GE_S:
case StringConstants.SERVICE_TYPE_10GE:
case StringConstants.SERVICE_TYPE_1GE:
case StringConstants.SERVICE_TYPE_ODU4:
- if (rc.getResultTribSlot() != null && rc.getResultTribPort() != null) {
- @SuppressWarnings("unchecked")
- List<Uint16> tribSlotList = (List<Uint16>) rc.getResultTribSlot().values().toArray()[0];
+ case StringConstants.SERVICE_TYPE_ODUC2:
+ case StringConstants.SERVICE_TYPE_ODUC3:
+ case StringConstants.SERVICE_TYPE_ODUC4:
+ if (rc.getResultTribPortTribSlot() != null && rc.getResultTribPortTribSlot().get(0) != null
+ && rc.getResultTribPortTribSlot().get(1) != null) {
ztoADirectionBldr.setZToAWavelengthNumber(Uint32.valueOf(0))
- .setTribPortNumber(Uint16.valueOf(rc.getResultTribPort().values().toArray()[0].toString()))
- .setTribSlotNumber(tribSlotList.get(0));
+ .setMinTribSlot(rc.getResultTribPortTribSlot().get(0))
+ .setMaxTribSlot(rc.getResultTribPortTribSlot().get(1));
} else {
- LOG.error("Trib port and trib slot number should be present");
- ztoADirectionBldr.setTribSlotNumber(Uint16.valueOf(0)).setTribPortNumber(Uint16.valueOf(0));
+ LOG.warn("Trib port and trib slot number should be present");
+ ztoADirectionBldr.setMinTribSlot(new OpucnTribSlotDef("0.0"))
+ .setMaxTribSlot(new OpucnTribSlotDef("0.0"));
}
break;
default:
+ LOG.warn("unknown service type : unable to set Min/Max frequencies");
break;
}
return ztoADirectionBldr;
.build();
AToZKey clientKey = new AToZKey(index.toString());
- Resource clientResource = new ResourceBuilder().setResource(stp).build();
+ Resource clientResource = new ResourceBuilder().setResource(stp).setState(State.InService).build();
AToZ firstResource = new AToZBuilder().setId(tpName).withKey(clientKey).setResource(clientResource).build();
atozMap.put(firstResource.key(),firstResource);
index += 1;
for (PceLink pcelink : path) {
String srcName = pcelink.getSourceId().getValue();
// Nodes
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce
.resource.resource.resource.Node sourceNode = new NodeBuilder()
.setNodeId(srcName)
.build();
// Source Resource
AToZKey sourceKey = new AToZKey(index.toString());
- Resource nodeResource1 = new ResourceBuilder().setResource(sourceNode).build();
+ Resource nodeResource1 = new ResourceBuilder().setResource(sourceNode).setState(State.InService).build();
AToZ srcResource = new AToZBuilder().setId(srcName).withKey(sourceKey).setResource(nodeResource1).build();
index += 1;
atozMap.put(srcResource.key(),srcResource);
// source TP
- tpName = pcelink.getSourceTP().toString();
+ tpName = pcelink.getSourceTP().getValue();
stp = new TerminationPointBuilder()
.setTpNodeId(srcName).setTpId(tpName)
.build();
// Resource
AToZKey srcTPKey = new AToZKey(index.toString());
- Resource tpResource1 = new ResourceBuilder().setResource(stp).build();
+ Resource tpResource1 = new ResourceBuilder().setResource(stp).setState(State.InService).build();
AToZ stpResource = new AToZBuilder().setId(tpName).withKey(srcTPKey).setResource(tpResource1).build();
index += 1;
atozMap.put(stpResource.key(),stpResource);
String linkName = pcelink.getLinkId().getValue();
// Link
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce
.resource.resource.resource.Link atozLink = new LinkBuilder()
.setLinkId(linkName)
.build();
// Link Resource
AToZKey linkKey = new AToZKey(index.toString());
- Resource nodeResource2 = new ResourceBuilder().setResource(atozLink).build();
+ Resource nodeResource2 = new ResourceBuilder().setResource(atozLink).setState(pcelink.getState()).build();
AToZ linkResource = new AToZBuilder().setId(linkName).withKey(linkKey).setResource(nodeResource2).build();
index += 1;
atozMap.put(linkResource.key(),linkResource);
String destName = pcelink.getDestId().getValue();
// target TP
- tpName = pcelink.getDestTP().toString();
+ tpName = pcelink.getDestTP().getValue();
TerminationPoint dtp = new TerminationPointBuilder()
.setTpNodeId(destName).setTpId(tpName)
.build();
// Resource
AToZKey destTPKey = new AToZKey(index.toString());
- Resource tpResource2 = new ResourceBuilder().setResource(dtp).build();
+ Resource tpResource2 = new ResourceBuilder().setResource(dtp).setState(State.InService).build();
AToZ ttpResource = new AToZBuilder().setId(tpName).withKey(destTPKey).setResource(tpResource2).build();
index += 1;
atozMap.put(ttpResource.key(),ttpResource);
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce
.resource.resource.resource.Node targetNode = new NodeBuilder()
.setNodeId(destName)
.build();
// Target Resource
AToZKey targetKey = new AToZKey(index.toString());
- Resource nodeResource3 = new ResourceBuilder().setResource(targetNode).build();
+ Resource nodeResource3 = new ResourceBuilder().setResource(targetNode).setState(State.InService).build();
lastResource = new AToZBuilder().setId(destName).withKey(targetKey).setResource(nodeResource3).build();
lastLink = pcelink;
index += 1;
clientKey = new AToZKey(index.toString());
- clientResource = new ResourceBuilder().setResource(stp).build();
+ clientResource = new ResourceBuilder().setResource(stp).setState(State.InService).build();
lastResource = new AToZBuilder().setId(tpName).withKey(clientKey).setResource(clientResource).build();
atozMap.put(lastResource.key(),lastResource);
.build();
ZToAKey clientKey = new ZToAKey(index.toString());
- Resource clientResource = new ResourceBuilder().setResource(stp).build();
+ Resource clientResource = new ResourceBuilder().setResource(stp).setState(State.InService).build();
ZToA firstResource = new ZToABuilder().setId(tpName).withKey(clientKey).setResource(clientResource).build();
ztoaList.put(firstResource.key(),firstResource);
index += 1;
// Nodes
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce
.resource.resource.resource.Node sourceNode = new NodeBuilder()
.setNodeId(srcName).build();
// Source Resource
ZToAKey sourceKey = new ZToAKey(index.toString());
- Resource nodeResource1 = new ResourceBuilder().setResource(sourceNode).build();
+ Resource nodeResource1 = new ResourceBuilder().setResource(sourceNode).setState(State.InService).build();
ZToA srcResource = new ZToABuilder().setId(srcName).withKey(sourceKey).setResource(nodeResource1).build();
index += 1;
ztoaList.put(srcResource.key(),srcResource);
// source TP
- tpName = pcelink.getSourceTP().toString();
+ tpName = pcelink.getSourceTP().getValue();
stp = new TerminationPointBuilder()
.setTpNodeId(srcName).setTpId(tpName)
.build();
// Resource
ZToAKey srcTPKey = new ZToAKey(index.toString());
- Resource tpResource1 = new ResourceBuilder().setResource(stp).build();
+ Resource tpResource1 = new ResourceBuilder().setResource(stp).setState(State.InService).build();
ZToA stpResource = new ZToABuilder().setId(tpName).withKey(srcTPKey).setResource(tpResource1).build();
index += 1;
ztoaList.put(stpResource.key(),stpResource);
String linkName = pcelink.getLinkId().getValue();
// Link
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce
.resource.resource.resource.Link ztoaLink = new LinkBuilder()
.setLinkId(linkName).build();
// Link Resource
ZToAKey linkKey = new ZToAKey(index.toString());
- Resource nodeResource2 = new ResourceBuilder().setResource(ztoaLink).build();
+ Resource nodeResource2 = new ResourceBuilder().setResource(ztoaLink).setState(State.InService).build();
ZToA linkResource = new ZToABuilder().setId(linkName).withKey(linkKey).setResource(nodeResource2).build();
index += 1;
ztoaList.put(linkResource.key(),linkResource);
String destName = pcelink.getDestId().getValue();
// target TP
- tpName = pcelink.getDestTP().toString();
+ tpName = pcelink.getDestTP().getValue();
TerminationPoint ttp = new TerminationPointBuilder()
.setTpNodeId(destName).setTpId(tpName).build();
// Resource
ZToAKey destTPKey = new ZToAKey(index.toString());
- Resource tpResource2 = new ResourceBuilder().setResource(ttp).build();
+ Resource tpResource2 = new ResourceBuilder().setResource(ttp).setState(State.InService).build();
ZToA ttpResource = new ZToABuilder().setId(tpName).withKey(destTPKey).setResource(tpResource2).build();
index += 1;
ztoaList.put(ttpResource.key(),ttpResource);
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201126.pce
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce
.resource.resource.resource.Node targetNode = new NodeBuilder()
.setNodeId(destName).build();
// Target Resource
ZToAKey targetKey = new ZToAKey(index.toString());
- Resource nodeResource3 = new ResourceBuilder().setResource(targetNode).build();
+ Resource nodeResource3 = new ResourceBuilder().setResource(targetNode).setState(State.InService).build();
lastResource = new ZToABuilder().setId(destName).withKey(targetKey).setResource(nodeResource3).build();
lastLink = pcelink;
index += 1;
clientKey = new ZToAKey(index.toString());
- clientResource = new ResourceBuilder().setResource(stp).build();
+ clientResource = new ResourceBuilder().setResource(stp).setState(State.InService).build();
lastResource = new ZToABuilder().setId(tpName).withKey(clientKey).setResource(clientResource).build();
ztoaList.put(lastResource.key(),lastResource);
}