From 520dc2cf66a6355217ee0cff7505f6bfd3621d44 Mon Sep 17 00:00:00 2001 From: DylanB95EST Date: Wed, 6 Jul 2022 13:54:01 +0100 Subject: Define Initial Data Sync Enabled Flag and state - Define the initial Data Sync Cache enabled through configuration parameter - Set the data sync enabled flag based on this - And in turn define the initial sync state of the Data Sync Issue-ID: CPS-1119 Change-Id: I43bf03c79481291bf47c9b672f7bf408d789df61 Signed-off-by: DylanB95EST --- .../cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'cps-ncmp-service/src/main') diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java index 0330991fd..f18d843f8 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java @@ -31,6 +31,7 @@ import org.onap.cps.ncmp.api.inventory.CompositeState; import org.onap.cps.ncmp.api.inventory.DataStoreSyncState; import org.onap.cps.ncmp.api.inventory.InventoryPersistence; import org.onap.cps.ncmp.api.inventory.LockReasonCategory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -45,6 +46,9 @@ public class ModuleSyncWatchdog { private final ModuleSyncService moduleSyncService; + @Value("${data-sync.cache.enabled:false}") + private boolean isGlobalDataSyncCacheEnabled; + /** * Execute Cm Handle poll which changes the cm handle state from 'ADVISED' to 'READY'. */ @@ -96,11 +100,9 @@ public class ModuleSyncWatchdog { private Consumer setCompositeStateToReadyWithInitialDataStoreSyncState() { return compositeState -> { + compositeState.setDataSyncEnabled(isGlobalDataSyncCacheEnabled); compositeState.setCmHandleState(CmHandleState.READY); - final CompositeState.Operational operational = CompositeState.Operational.builder() - .dataStoreSyncState(DataStoreSyncState.UNSYNCHRONIZED) - .lastSyncTime(CompositeState.nowInSyncTimeFormat()) - .build(); + final CompositeState.Operational operational = getDataStoreSyncState(compositeState.getDataSyncEnabled()); final CompositeState.DataStores dataStores = CompositeState.DataStores.builder() .operationalDataStore(operational) .build(); @@ -116,4 +118,11 @@ public class ModuleSyncWatchdog { .details(oldLockReasonDetails).build(); compositeState.setLockReason(lockReason); } + + private CompositeState.Operational getDataStoreSyncState(final boolean dataSyncEnabled) { + final DataStoreSyncState dataStoreSyncState = dataSyncEnabled + ? DataStoreSyncState.UNSYNCHRONIZED : DataStoreSyncState.NONE_REQUESTED; + return CompositeState.Operational.builder().dataStoreSyncState(dataStoreSyncState).build(); + } + } -- cgit 1.2.3-korg