- public YangModelCmHandle getAnUnSynchronizedReadyCmHandle() {
- final List<DataNode> unSynchronizedCmHandles = inventoryPersistence
- .getCmHandlesByOperationalSyncState(DataStoreSyncState.UNSYNCHRONIZED);
- if (unSynchronizedCmHandles.isEmpty()) {
- return null;
- }
- Collections.shuffle(unSynchronizedCmHandles);
- for (final DataNode cmHandle : unSynchronizedCmHandles) {
- final String cmHandleId = cmHandle.getLeaves().get("id").toString();
- final List<DataNode> readyCmHandles = inventoryPersistence
- .getCmHandlesByIdAndState(cmHandleId, CmHandleState.READY);
- if (!readyCmHandles.isEmpty()) {
- return inventoryPersistence.getYangModelCmHandle(cmHandleId);
+ public List<YangModelCmHandle> getUnsynchronizedReadyCmHandles() {
+ final List<DataNode> unsynchronizedCmHandles = cmHandleQueries
+ .queryCmHandlesByOperationalSyncState(DataStoreSyncState.UNSYNCHRONIZED);
+
+ final List<YangModelCmHandle> yangModelCmHandles = new ArrayList<>();
+ for (final DataNode unsynchronizedCmHandle : unsynchronizedCmHandles) {
+ final String cmHandleId = unsynchronizedCmHandle.getLeaves().get("id").toString();
+ if (cmHandleQueries.cmHandleHasState(cmHandleId, CmHandleState.READY)) {
+ yangModelCmHandles.addAll(
+ convertCmHandlesDataNodesToYangModelCmHandles(
+ Collections.singletonList(unsynchronizedCmHandle)));