X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ves-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Fcommscope%2Ftr069adapter%2Fvesagent%2Ftimer%2FStartupTimerService.java;h=dd1a028bff93563c5d60dee2ba7076f5760e16ce;hb=76744e810f35c84ecbd1d9998e361052466e9483;hp=465b6dc2815476162ab832187ce7e71eb1f68149;hpb=ce4e2d38e3d42725f61c39dd172325d2def4bc44;p=oam%2Ftr069-adapter.git diff --git a/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/timer/StartupTimerService.java b/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/timer/StartupTimerService.java index 465b6dc..dd1a028 100644 --- a/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/timer/StartupTimerService.java +++ b/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/timer/StartupTimerService.java @@ -16,71 +16,74 @@ * ===============LICENSE_END======================================================================= */ -package org.commscope.tr069adapter.vesagent.timer; - -import java.util.List; -import java.util.concurrent.TimeUnit; -import java.util.function.Function; - -import javax.annotation.PostConstruct; - -import org.commscope.tr069adapter.vesagent.entity.DeviceDataEntity; -import org.commscope.tr069adapter.vesagent.repository.VesDataRepository; -import org.commscope.tr069adapter.vesagent.util.VesAgentConstants; -import org.commscope.tr069adapter.vesagent.util.VesAgentUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component -public class StartupTimerService { - private static final Logger logger = LoggerFactory.getLogger(StartupTimerService.class); - - @Autowired - private Function beanFactory; - - public HeartBeatTimeoutTask getBeanInstance(String name) { - return beanFactory.apply(name); - } - - @Autowired - VesDataRepository vesDataRepository; - - @Autowired - ScheduleTaskService timerService; - - @PostConstruct - public void initializeDeviceReachabilityCheckTimers() { - logger.debug("Initializing all device connectivity check timer tasks."); - List deviceDataEntityList = - vesDataRepository.findByAttrGroup(VesAgentConstants.HEART_BEAT); - - if (VesAgentUtils.isNullOrEmpty(deviceDataEntityList)) { - logger.debug("No device reachability check timer tasks exist."); - return; - } - - for (DeviceDataEntity deviceDataEntity : deviceDataEntityList) { - String heartBeatPeriod = null; - - if (null != deviceDataEntity.getAttributesMap()) { - heartBeatPeriod = - deviceDataEntity.getAttributesMap().get(VesAgentConstants.HEART_BEAT_PERIOD); - } - - if (!VesAgentUtils.isNullOrEmpty(heartBeatPeriod) - && !heartBeatPeriod.equals(VesAgentConstants.REMOVE_HEART_BEAT_TIMER_VAL)) { - logger.info("Creating device connectivity check timer tasks for device {}.", - deviceDataEntity.getDeviceId()); - ScheduleInfo scheduleInfo = new ScheduleInfo(); - scheduleInfo.setInterval(Integer.parseInt(heartBeatPeriod)); - scheduleInfo.setTimeUnit(TimeUnit.SECONDS); - - HeartBeatTimeoutTask callbackTask = getBeanInstance(deviceDataEntity.getDeviceId()); - - timerService.schedule(deviceDataEntity.getDeviceId(), scheduleInfo, callbackTask); - } - } - } -} +package org.commscope.tr069adapter.vesagent.timer; + +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; + +import javax.annotation.PostConstruct; + +import org.commscope.tr069adapter.vesagent.entity.DeviceDataEntity; +import org.commscope.tr069adapter.vesagent.repository.VesDataRepository; +import org.commscope.tr069adapter.vesagent.util.VesAgentConstants; +import org.commscope.tr069adapter.vesagent.util.VesAgentUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class StartupTimerService { + private static final Logger logger = LoggerFactory.getLogger(StartupTimerService.class); + + @Autowired + private Function beanFactory; + + public HeartBeatTimeoutTask getBeanInstance(String name) { + return beanFactory.apply(name); + } + + @Autowired + VesDataRepository vesDataRepository; + + @Autowired + ScheduleTaskService timerService; + + @PostConstruct + public void initializeDeviceReachabilityCheckTimers() { + logger.debug("Initializing all device connectivity check timer tasks."); + List deviceDataEntityList = + vesDataRepository.findByAttrGroup(VesAgentConstants.HEART_BEAT); + + if (VesAgentUtils.isNullOrEmpty(deviceDataEntityList)) { + logger.debug("No device reachability check timer tasks exist."); + return; + } + + for (DeviceDataEntity deviceDataEntity : deviceDataEntityList) { + String heartBeatPeriod = null; + + if (null != deviceDataEntity.getAttributesMap()) { + heartBeatPeriod = + deviceDataEntity.getAttributesMap().get(VesAgentConstants.HEART_BEAT_PERIOD); + } + if (heartBeatPeriod == null) { + logger.info("Heartbeat is null"); + return; + } + if (!VesAgentUtils.isNullOrEmpty(heartBeatPeriod) + && !heartBeatPeriod.equals(VesAgentConstants.REMOVE_HEART_BEAT_TIMER_VAL)) { + logger.info("Creating device connectivity check timer tasks for device {}.", + deviceDataEntity.getDeviceId()); + ScheduleInfo scheduleInfo = new ScheduleInfo(); + scheduleInfo.setInterval(Integer.parseInt(heartBeatPeriod)); + scheduleInfo.setTimeUnit(TimeUnit.SECONDS); + + HeartBeatTimeoutTask callbackTask = getBeanInstance(deviceDataEntity.getDeviceId()); + + timerService.schedule(deviceDataEntity.getDeviceId(), scheduleInfo, callbackTask); + } + } + } +}