X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fncmp%2Fapi%2Finventory%2Fsync%2FModuleSyncWatchdog.java;h=7299e2aecad5c867e2876b94bc45159297470a95;hb=09156406ac7201a7329663e8fedb29dc28547048;hp=69413171d64e0f51580b6edba86c737607ea1e6f;hpb=6369af0f6cb53619daa253d5da0f360f2bf67fc3;p=cps.git 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 69413171d..7299e2aec 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 @@ -23,32 +23,32 @@ package org.onap.cps.ncmp.api.inventory.sync; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle; -import org.springframework.scheduling.annotation.EnableScheduling; +import org.onap.cps.ncmp.api.inventory.CmHandleState; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Slf4j -@EnableScheduling @RequiredArgsConstructor @Component public class ModuleSyncWatchdog { private final SyncUtils syncUtils; + private final ModuleSyncService moduleSyncService; + /** * Execute Cm Handle poll which changes the cm handle state from 'ADVISED' to 'READY'. */ - @Scheduled(fixedDelay = 30000) + @Scheduled(fixedDelayString = "${ncmp.timers.advised-modules-sync.sleep-time-ms}") public void executeAdvisedCmHandlePoll() { - YangModelCmHandle newAdvisedCmHandle = syncUtils.getAnAdvisedCmHandle(); - while (newAdvisedCmHandle != null) { - // ToDo When Cm-Handle in the 'ADVISED' state is Retrieved, Set CM-Handle state to 'LOCKED' - // and give lock reason - // ToDo if lock fails, move to next cm handle. - // ToDo Update last update time with a timestamp everytime Cm-handle state is changed - syncUtils.updateCmHandleState(newAdvisedCmHandle, "READY"); - log.info("{} is now in READY state", newAdvisedCmHandle.getId()); - newAdvisedCmHandle = syncUtils.getAnAdvisedCmHandle(); + YangModelCmHandle advisedCmHandle = syncUtils.getAnAdvisedCmHandle(); + while (advisedCmHandle != null) { + moduleSyncService.syncAndCreateSchemaSet(advisedCmHandle); + // ToDo Lock Cm Handle if module sync fails + syncUtils.updateCmHandleState(advisedCmHandle, CmHandleState.READY); + log.info("{} is now in {} state", advisedCmHandle.getId(), + advisedCmHandle.getCompositeState().getCmhandleState()); + advisedCmHandle = syncUtils.getAnAdvisedCmHandle(); } log.debug("No Cm-Handles currently found in an ADVISED state"); }