import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.calculate.spanloss.base.output.Spans;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.calculate.spanloss.base.output.SpansBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.get.pm.output.Measurements;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.OpenroadmNodeVersion;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.mapping.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.OpenroadmNodeVersion;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.RatioDB;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.Interface;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.InterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmLinkType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.Interface1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.Interface1Builder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.ots.container.Ots;
import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.ots.container.OtsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity;
import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.PmNamesEnum;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifierBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.PmGranularity;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.PmNamesEnum;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.olm.get.pm.input.ResourceIdentifierBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.Decimal64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Override
public GetPmOutput getPm(GetPmInput pmInput) {
- OpenroadmNodeVersion openroadmVersion;
GetPmOutputBuilder pmOutputBuilder = new GetPmOutputBuilder();
+ if (mappingUtils.getOpenRoadmVersion(pmInput.getNodeId()) == null) {
+ return pmOutputBuilder.build();
+ }
+ OpenroadmNodeVersion nodeVersion;
switch (mappingUtils.getOpenRoadmVersion(pmInput.getNodeId())) {
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
- openroadmVersion = OpenroadmNodeVersion._121;
+ nodeVersion = OpenroadmNodeVersion._121;
break;
case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
- openroadmVersion = OpenroadmNodeVersion._221;
+ nodeVersion = OpenroadmNodeVersion._221;
break;
case StringConstants.OPENROADM_DEVICE_VERSION_7_1:
- openroadmVersion = OpenroadmNodeVersion._71;
+ nodeVersion = OpenroadmNodeVersion._71;
break;
default:
LOG.error("Unknown device version");
}
LOG.info("Now calling get pm data");
pmOutputBuilder = OlmUtils.pmFetch(pmInput, deviceTransactionManager,
- openroadmVersion);
+ nodeVersion);
return pmOutputBuilder.build();
}
spanLossRx = ots.getSpanLossReceive();
spanLossTx = ots.getSpanLossTransmit();
} else {
- spanLossRx = new RatioDB(spanLoss);
- spanLossTx = new RatioDB(spanLoss);
+ spanLossRx = new RatioDB(Decimal64.valueOf(spanLoss));
+ spanLossTx = new RatioDB(Decimal64.valueOf(spanLoss));
}
Interface1Builder intf1Builder = new Interface1Builder();
if (direction.equals("TX")) {
- otsBuilder.setSpanLossTransmit(new RatioDB(spanLoss));
+ otsBuilder.setSpanLossTransmit(new RatioDB(Decimal64.valueOf(spanLoss)));
otsBuilder.setSpanLossReceive(spanLossRx);
} else {
- otsBuilder.setSpanLossTransmit(spanLossTx).setSpanLossReceive(new RatioDB(spanLoss));
+ otsBuilder
+ .setSpanLossTransmit(spanLossTx)
+ .setSpanLossReceive(new RatioDB(Decimal64.valueOf(spanLoss)));
}
interfaceBuilder.addAugmentation(intf1Builder.setOts(otsBuilder.build()).build());
openRoadmInterfaces.postInterface(realNodeId,interfaceBuilder);
spanLossTx = ots.getSpanLossTransmit();
} else {
spanLossRx = new org.opendaylight.yang.gen.v1.http.org
- .openroadm.common.types.rev181019.RatioDB(spanLoss);
+ .openroadm.common.types.rev181019.RatioDB(Decimal64.valueOf(spanLoss));
spanLossTx = new org.opendaylight.yang.gen.v1.http.org
- .openroadm.common.types.rev181019.RatioDB(spanLoss);
+ .openroadm.common.types.rev181019.RatioDB(Decimal64.valueOf(spanLoss));
}
org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces
.rev181019.Interface1Builder intf1Builder =
.transport.interfaces.rev181019.Interface1Builder();
if (direction.equals("TX")) {
otsBuilder.setSpanLossTransmit(new org.opendaylight.yang.gen.v1.http.org
- .openroadm.common.types.rev181019.RatioDB(spanLoss));
+ .openroadm.common.types.rev181019.RatioDB(Decimal64.valueOf(spanLoss)));
otsBuilder.setSpanLossReceive(spanLossRx);
} else {
- otsBuilder.setSpanLossTransmit(spanLossTx).setSpanLossReceive(
- new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.RatioDB(spanLoss)
- );
+ otsBuilder
+ .setSpanLossTransmit(spanLossTx)
+ .setSpanLossReceive(
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.RatioDB(
+ Decimal64.valueOf(spanLoss)));
}
interfaceBuilder.addAugmentation(intf1Builder.setOts(otsBuilder.build()).build());
openRoadmInterfaces.postInterface(realNodeId,interfaceBuilder);