import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import javax.sql.DataSource;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.transportpce.common.Timeouts;
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.transportpce.inventory.query.Queries;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.circuit.pack.CpSlots;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.circuit.pack.CpSlotsKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.circuit.packs.CircuitPacks;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.circuit.packs.CircuitPacksKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.ConnectionPorts;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.ConnectionPortsKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.external.links.ExternalLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.external.links.ExternalLinkKey;
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.InterfaceKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.internal.links.InternalLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.internal.links.InternalLinkKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.OrgOpenroadmDevice;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.ConnectionMap;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.ConnectionMapKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.Degree;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.DegreeKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.Info;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.Protocols;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnections;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.SharedRiskGroup;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.SharedRiskGroupKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.physical.links.PhysicalLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.physical.links.PhysicalLinkKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.shelf.Slots;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.shelf.SlotsKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.shelves.Shelves;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.shelves.ShelvesKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev161014.Interface1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev161014.ethernet.container.EthernetBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.Protocols1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.lldp.container.lldp.PortConfig;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.lldp.container.lldp.PortConfigKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.lldp.container.lldp.nbr.list.IfName;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.lldp.container.lldp.nbr.list.IfNameKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014.och.container.OchBuilder;
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.otn.odu.interfaces.rev161014.odu.attributes.Tcm;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.odu.attributes.TcmKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.odu.container.OduBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.opu.opu.msi.ExpMsi;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.opu.opu.msi.ExpMsiKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.opu.opu.msi.RxMsi;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.opu.opu.msi.RxMsiKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.opu.opu.msi.TxMsi;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.opu.opu.msi.TxMsiKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.otu.container.OtuBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
Optional<OrgOpenroadmDevice> deviceObject = deviceTransactionManager.getDataFromDevice(nodeId,
LogicalDatastoreType.OPERATIONAL, deviceIID, Timeouts.DEVICE_READ_TIMEOUT,
Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-
- LOG.info("Shelves size {}", deviceObject.get().getShelves().size());
+ if (!deviceObject.isPresent()) {
+ LOG.error("No device found in operational datastore for nodeId {}", nodeId);
+ return;
+ }
+ @NonNull
+ Map<ShelvesKey, Shelves> shelvesMap = deviceObject.get().nonnullShelves();
+ LOG.info("Shelves size {}", shelvesMap.size());
try (Connection connection = requireNonNull(dataSource.getConnection())) {
- for (int i = 0; i < deviceObject.get().getShelves().size(); i++) {
- Shelves shelve = deviceObject.get().getShelves().get(i);
+ for (Map.Entry<ShelvesKey, Shelves> entry : shelvesMap.entrySet()) {
+ Shelves shelve = entry.getValue();
String shelfName = shelve.getShelfName();
LOG.info("Getting Shelve Details of {}", shelfName);
LOG.warn("Device object {} was not found", nodeId);
return;
}
- LOG.info("Circuit pack size {}", deviceObject.get().getCircuitPacks().size());
+ @NonNull
+ Map<CircuitPacksKey, CircuitPacks> circuitPacksMap = deviceObject.get().nonnullCircuitPacks();
+ LOG.info("Circuit pack size {}", circuitPacksMap.size());
try (Connection connection = requireNonNull(dataSource.getConnection())) {
- for (int i = 0; i < deviceObject.get().getCircuitPacks().size(); i++) {
- CircuitPacks cp = deviceObject.get().getCircuitPacks().get(i);
+
+ for (Map.Entry<CircuitPacksKey, CircuitPacks> entry : circuitPacksMap.entrySet()) {
+ CircuitPacks cp = entry.getValue();
if (cp.getCpSlots() != null) {
persistCircuitPacksSlots(nodeId, cp, connection);
private void persistShelveSlots(String nodeId, Shelves shelves, Connection connection) {
String startTimetampStr = getCurrentTimestamp();
- for (int i = 0; i < shelves.getSlots().size(); i++) {
- Slots slot = shelves.getSlots().get(i);
+ @NonNull
+ Map<SlotsKey, Slots> slotsMap = shelves.nonnullSlots();
+ for (Map.Entry<SlotsKey, Slots> entry : slotsMap.entrySet()) {
+ Slots slot = entry.getValue();
LOG.info("Getting Slot Details of {}", slot.getSlotName());
Object[] parameters = new Object[]{nodeId,
shelves.getShelfName(),
private void persistCircuitPacksSlots(String nodeId, CircuitPacks circuitPacks, Connection connection) {
String startTimetampStr = getCurrentTimestamp();
- for (int i = 0; i < circuitPacks.getCpSlots().size(); i++) {
- CpSlots cpSlot = circuitPacks.getCpSlots().get(i);
+ @NonNull
+ Map<CpSlotsKey, CpSlots> cpSlotsMap = circuitPacks.nonnullCpSlots();
+ for (Map.Entry<CpSlotsKey, CpSlots> entry : cpSlotsMap.entrySet()) {
+ CpSlots cpSlot = entry.getValue();
Object[] parameters = new Object[]{nodeId,
circuitPacks.getCircuitPackName(),
deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, interfaceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT); */
- for (int i = 0; i < deviceObject.get().getInterface().size(); i++) {
+ @NonNull
+ Map<InterfaceKey, Interface> interfaceMap = deviceObject.get().nonnullInterface();
+ for (Map.Entry<InterfaceKey, Interface> entry : interfaceMap.entrySet()) {
Interface deviceInterface;
- deviceInterface = deviceObject.get().getInterface().get(i);
+ deviceInterface = entry.getValue();
/*if (interfaceOpt.isPresent()) {
deviceInterface = interfaceOpt.get();
} else {
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
if (!protocolObject.isPresent() || protocolObject.get().augmentation(Protocols1.class) == null) {
LOG.error("LLDP subtree is missing");
-
+ return;
}
int adminstatusEnu =
protocolObject.get().augmentation(Protocols1.class).getLldp().getGlobalConfig().getAdminStatus()
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
if (!protocolObject.isPresent() || protocolObject.get().augmentation(Protocols1.class) == null) {
LOG.error("LLDP subtree is missing");
-
+ return;
}
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < protocolObject.get().augmentation(Protocols1.class).getLldp().getPortConfig().size(); i++) {
+ @NonNull
+ Map<PortConfigKey, PortConfig> portConfigMap = protocolObject.get()
+ .augmentation(Protocols1.class).getLldp().nonnullPortConfig();
+ for (Map.Entry<PortConfigKey, PortConfig> entry : portConfigMap.entrySet()) {
- PortConfig portConfig =
- protocolObject.get().augmentation(Protocols1.class).getLldp().getPortConfig().get(i);
+ PortConfig portConfig = entry.getValue();
String ifName = portConfig.getIfName();
int adminStatusEnu = portConfig.getAdminStatus().getIntValue();
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
if (!protocolObject.isPresent() || protocolObject.get().augmentation(Protocols1.class) == null) {
LOG.error("LLDP subtree is missing");
-
+ return;
}
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < protocolObject.get().augmentation(Protocols1.class).getLldp().getNbrList().getIfName()
- .size(); i++) {
+ @NonNull
+ Map<IfNameKey, IfName> ifNameMap = protocolObject.get()
+ .augmentation(Protocols1.class).getLldp().getNbrList().nonnullIfName();
+ for (Map.Entry<IfNameKey, IfName> entry : ifNameMap.entrySet()) {
- IfName ifNameObj =
- protocolObject.get().augmentation(Protocols1.class).getLldp().getNbrList().getIfName().get(i);
+ IfName ifNameObj = entry.getValue();
String ifName = ifNameObj.getIfName();
String remotesysname = ifNameObj.getRemoteSysName();
String remotemgmtaddresssubtype = ifNameObj.getRemoteMgmtAddressSubType().getName();
Optional<OrgOpenroadmDevice> deviceObject =
deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, deviceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-
+ if (!deviceObject.isPresent()) {
+ LOG.error("Device with node id {} not found", nodeId);
+ return;
+ }
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < deviceObject.get().getInternalLink().size(); i++) {
- InternalLink internalLink = deviceObject.get().getInternalLink().get(i);
+ @NonNull
+ Map<InternalLinkKey, InternalLink> internalLinkMap = deviceObject.get().nonnullInternalLink();
+ for (Map.Entry<InternalLinkKey, InternalLink> entry : internalLinkMap.entrySet()) {
+ InternalLink internalLink = entry.getValue();
String internalLinkName = internalLink.getInternalLinkName();
String sourceCircuitPackName = internalLink.getSource().getCircuitPackName();
String sourcePortName = internalLink.getSource().getPortName().toString();
Optional<OrgOpenroadmDevice> deviceObject =
deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, deviceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-
+ if (!deviceObject.isPresent()) {
+ LOG.error("Device with node id {} not found", nodeId);
+ return;
+ }
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < deviceObject.get().getExternalLink().size(); i++) {
- ExternalLink externalLink = deviceObject.get().getExternalLink().get(i);
+ @NonNull
+ Map<ExternalLinkKey, ExternalLink> externalLinkMap = deviceObject.get().nonnullExternalLink();
+ for (Map.Entry<ExternalLinkKey, ExternalLink> entry : externalLinkMap.entrySet()) {
+ ExternalLink externalLink = entry.getValue();
String externalLinkName = externalLink.getExternalLinkName();
String sourceNodeId = externalLink.getSource().getNodeId();
String sourceCircuitPackName = externalLink.getSource().getCircuitPackName();
Optional<OrgOpenroadmDevice> deviceObject =
deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, deviceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
+ if (!deviceObject.isPresent()) {
+ LOG.error("Device with node id {} not found", nodeId);
+ return;
+ }
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < deviceObject.get().getPhysicalLink().size(); i++) {
- PhysicalLink physicalLink = deviceObject.get().getPhysicalLink().get(i);
+ @NonNull
+ Map<PhysicalLinkKey, PhysicalLink> physicalLinkMap = deviceObject.get().nonnullPhysicalLink();
+ for (Map.Entry<PhysicalLinkKey, PhysicalLink> entry : physicalLinkMap.entrySet()) {
+ PhysicalLink physicalLink = entry.getValue();
String physicalLinkName = physicalLink.getPhysicalLinkName();
String sourceCircuitPackName = physicalLink.getSource().getCircuitPackName();
String sourcePortName = physicalLink.getSource().getPortName().toString();
Optional<OrgOpenroadmDevice> deviceObject =
deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, deviceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-
+ if (!deviceObject.isPresent()) {
+ LOG.error("Device with node id {} not found", nodeId);
+ return;
+ }
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < deviceObject.get().getDegree().size(); i++) {
- Degree degree = deviceObject.get().getDegree().get(i);
+ @NonNull
+ Map<DegreeKey, Degree> degreeMap = deviceObject.get().nonnullDegree();
+ for (Map.Entry<DegreeKey, Degree> entry : degreeMap.entrySet()) {
+ Degree degree = entry.getValue();
String degreeNumber = degree.getDegreeNumber().toString();
String maxWavelengths = degree.getMaxWavelengths().toString();
String otdrPortCircuitPackName = degree.getOtdrPort().getCircuitPackName();
private void persistDevDegreeCircuitPack(String nodeId, Degree degree, String degreeNumber, Connection connection) {
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < degree.getCircuitPacks().size(); i++) {
+ @NonNull
+ Map<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksKey,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks>
+ circuitPacksMap = degree.nonnullCircuitPacks();
+ for (Map.Entry<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksKey,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks> entry :
+ circuitPacksMap.entrySet()) {
+
- String circuitPackIndex = degree.getCircuitPacks().get(i).getIndex().toString();
- String circuitPackName = degree.getCircuitPacks().get(i).getCircuitPackName();
+ String circuitPackIndex = entry.getValue().getIndex().toString();
+ String circuitPackName = entry.getValue().getCircuitPackName();
Object[] parameters = {nodeId,
degreeNumber,
Connection connection) {
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < degree.getConnectionPorts().size(); i++) {
+ @NonNull
+ Map<ConnectionPortsKey, ConnectionPorts> connectionPortsMap = degree.nonnullConnectionPorts();
+ for (Map.Entry<ConnectionPortsKey, ConnectionPorts> entry : connectionPortsMap.entrySet()) {
- String connectionPortIndex = degree.getConnectionPorts().get(i).getIndex().toString();
- String circuitPackName = degree.getConnectionPorts().get(i).getCircuitPackName();
- String portName = degree.getConnectionPorts().get(i).getPortName().toString();
+ ConnectionPorts connectionPorts = entry.getValue();
+ String connectionPortIndex = connectionPorts.getIndex().toString();
+ String circuitPackName = connectionPorts.getCircuitPackName();
+ String portName = connectionPorts.getPortName().toString();
Object[] parameters = {nodeId,
degreeNumber,
Optional<OrgOpenroadmDevice> deviceObject =
deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, deviceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
+ if (!deviceObject.isPresent()) {
+ LOG.error("Device with node id {} not found", nodeId);
+ return;
+ }
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < deviceObject.get().getSharedRiskGroup().size(); i++) {
- SharedRiskGroup sharedRiskGroup = deviceObject.get().getSharedRiskGroup().get(i);
+ @NonNull
+ Map<SharedRiskGroupKey, SharedRiskGroup> sharedRiskGroupMap = deviceObject.get().nonnullSharedRiskGroup();
+ for (Map.Entry<SharedRiskGroupKey, SharedRiskGroup> entry : sharedRiskGroupMap.entrySet()) {
+ SharedRiskGroup sharedRiskGroup = entry.getValue();
String maxAddDropPorts = sharedRiskGroup.getMaxAddDropPorts().toString();
String srgNumber = sharedRiskGroup.getSrgNumber().toString();
//int wavelengthDuplicationEnu = sharedRiskGroup.getWavelengthDuplication().getIntValue();
Connection connection) {
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < sharedRiskGroup.getCircuitPacks().size(); i++) {
-
- String circuitPackindex = sharedRiskGroup.getCircuitPacks().get(i).getIndex().toString();
- String circuitPackName = sharedRiskGroup.getCircuitPacks().get(i).getCircuitPackName();
+ @NonNull
+ Map<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksKey,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks>
+ circuitPacksMap = sharedRiskGroup.nonnullCircuitPacks();
+ for (Map.Entry<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksKey,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks> entry :
+ circuitPacksMap.entrySet()) {
+
+ org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks circuitPack =
+ entry.getValue();
+ String circuitPackindex = circuitPack.getIndex().toString();
+ String circuitPackName = circuitPack.getCircuitPackName();
Object[] parameters = {nodeId,
srgNumber,
Optional<OrgOpenroadmDevice> deviceObject =
deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, deviceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-
+ if (!deviceObject.isPresent()) {
+ LOG.error("Device with node id {} not found", nodeId);
+ return;
+ }
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < deviceObject.get().getRoadmConnections().size(); i++) {
- RoadmConnections roadmConnections = deviceObject.get().getRoadmConnections().get(i);
+ @NonNull
+ Map<RoadmConnectionsKey, RoadmConnections> roadmConnectionsMap = deviceObject.get().nonnullRoadmConnections();
+ for (Map.Entry<RoadmConnectionsKey, RoadmConnections> entry : roadmConnectionsMap.entrySet()) {
+ RoadmConnections roadmConnections = entry.getValue();
int opticalcontrolmodeEnu = roadmConnections.getOpticalControlMode().getIntValue();
//String connectionName = "";
//String connectionNumber = "";
Optional<OrgOpenroadmDevice> deviceObject =
deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, deviceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-
+ if (!deviceObject.isPresent()) {
+ LOG.error("Device with node id {} not found", nodeId);
+ return;
+ }
String startTimestamp = getCurrentTimestamp();
- for (int i = 0; i < deviceObject.get().getConnectionMap().size(); i++) {
- ConnectionMap connectionMap = deviceObject.get().getConnectionMap().get(i);
+ @NonNull
+ Map<ConnectionMapKey, ConnectionMap> connectionMapMap = deviceObject.get().nonnullConnectionMap();
+ for (Map.Entry<ConnectionMapKey, ConnectionMap> entry : connectionMapMap.entrySet()) {
+ ConnectionMap connectionMap = entry.getValue();
String connectionMapNumber = connectionMap.getConnectionMapNumber().toString();
String sourceCircuitPackName = connectionMap.getSource().getCircuitPackName();
String sourcePortName = connectionMap.getSource().getCircuitPackName();
private void persistDevInterfaceTcm(String nodeId, String interfaceName, OduBuilder oduBuilder,
Connection connection) {
- for (int i = 0; i < oduBuilder.getTcm().size(); i++) {
- Tcm tcm;
-
- tcm = oduBuilder.getTcm().get(i);
+ Map<TcmKey, Tcm> tcmMap = oduBuilder.getTcm();
+ for (Map.Entry<TcmKey, Tcm> entry : tcmMap.entrySet()) {
+ Tcm tcm = entry.getValue();
Object[] parameters = prepareDevInterfaceTcmParameters(nodeId, interfaceName, tcm);
private void persistDevInterfaceOtnOduTxMsi(String nodeId, String interfaceName, OduBuilder oduBuilder,
Connection connection) {
-
- for (int i = 0; i < oduBuilder.getTcm().size(); i++) {
- TxMsi txMsi;
-
- txMsi = oduBuilder.getOpu().getMsi().getTxMsi().get(i);
-
+ @Nullable
+ Map<TxMsiKey, TxMsi> txMsi2Map = oduBuilder.getOpu().getMsi().getTxMsi();
+ if (txMsi2Map == null) {
+ LOG.error("Null txMsi2Map for node {}", nodeId);
+ return;
+ }
+ for (Map.Entry<TxMsiKey, TxMsi> entry : txMsi2Map.entrySet()) {
+ TxMsi txMsi = entry.getValue();
Object[] parameters = prepareDevInterfaceOtnOduTxMsiParameters(nodeId, interfaceName, txMsi);
String query = Queries.getQuery().deviceInterfaceOtnOduTxMsiInsert().get();
private void persistDevInterfaceOtnOduRxMsi(String nodeId, String interfaceName, OduBuilder oduBuilder,
Connection connection) {
-
- for (int i = 0; i < oduBuilder.getTcm().size(); i++) {
- RxMsi rxMsi;
-
- rxMsi = oduBuilder.getOpu().getMsi().getRxMsi().get(i);
+ @Nullable
+ Map<RxMsiKey, RxMsi> rxMsi2Map = oduBuilder.getOpu().getMsi().getRxMsi();
+ if (rxMsi2Map == null) {
+ LOG.error("Null rxMsi2Map for node {}", nodeId);
+ return;
+ }
+ for (Map.Entry<RxMsiKey, RxMsi> entry : rxMsi2Map.entrySet()) {
+ RxMsi rxMsi = entry.getValue();
Object[] parameters = prepareDevInterfaceOtnOduRxMsiParameters(nodeId, interfaceName, rxMsi);
private void persistDevInterfaceOtnOduExpMsi(String nodeId, String interfaceName, OduBuilder oduBuilder,
Connection connection) {
-
- for (int i = 0; i < oduBuilder.getTcm().size(); i++) {
- ExpMsi expMsi;
-
- expMsi = oduBuilder.getOpu().getMsi().getExpMsi().get(i);
+ @Nullable
+ Map<ExpMsiKey, ExpMsi> expMsi2Map = oduBuilder.getOpu().getMsi().getExpMsi();
+ if (expMsi2Map == null) {
+ LOG.error("Null expMsi2Map for node {}", nodeId);
+ return;
+ }
+ for (Map.Entry<ExpMsiKey, ExpMsi> entry : expMsi2Map.entrySet()) {
+ ExpMsi expMsi = entry.getValue();
Object[] parameters = prepareDevInterfaceOtnOduExpMsiParameters(nodeId, interfaceName, expMsi);