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=9329b2fb7e35d678615b96672a07635ed3ee82c4;hb=refs%2Fchanges%2F74%2F129274%2F1;hp=0d8f852193ae5d12a2d9d9662dba7c45c3f64322;hpb=8c0b1b62c1e88f0c0cc547bbf91d9b236839992b;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 0d8f85219..9329b2fb7 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(fixedDelayString = "${ncmp.timers.advised-modules-sync.sleep-time-ms}") + @Scheduled(fixedDelayString = "${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) { + final CmHandleState cmHandleState = advisedCmHandle.getCmHandleState(); + 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.getCmHandleState()); + advisedCmHandle = syncUtils.getAnAdvisedCmHandle(); } log.debug("No Cm-Handles currently found in an ADVISED state"); }