* ===============LICENSE_END=======================================================================
*/
-package org.commscope.tr069adapter.vesagent.timer;\r
-\r
-import java.util.List;\r
-import java.util.concurrent.TimeUnit;\r
-import java.util.function.Function;\r
-\r
-import javax.annotation.PostConstruct;\r
-\r
-import org.commscope.tr069adapter.vesagent.entity.DeviceDataEntity;\r
-import org.commscope.tr069adapter.vesagent.repository.VesDataRepository;\r
-import org.commscope.tr069adapter.vesagent.util.VesAgentConstants;\r
-import org.commscope.tr069adapter.vesagent.util.VesAgentUtils;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-import org.springframework.beans.factory.annotation.Autowired;\r
-import org.springframework.stereotype.Component;\r
-\r
-@Component\r
-public class StartupTimerService {\r
- private static final Logger logger = LoggerFactory.getLogger(StartupTimerService.class);\r
-\r
- @Autowired\r
- private Function<String, HeartBeatTimeoutTask> beanFactory;\r
-\r
- public HeartBeatTimeoutTask getBeanInstance(String name) {\r
- return beanFactory.apply(name);\r
- }\r
-\r
- @Autowired\r
- VesDataRepository vesDataRepository;\r
-\r
- @Autowired\r
- ScheduleTaskService timerService;\r
-\r
- @PostConstruct\r
- public void initializeDeviceReachabilityCheckTimers() {\r
- logger.debug("Initializing all device connectivity check timer tasks.");\r
- List<DeviceDataEntity> deviceDataEntityList =\r
- vesDataRepository.findByAttrGroup(VesAgentConstants.HEART_BEAT);\r
-\r
- if (VesAgentUtils.isNullOrEmpty(deviceDataEntityList)) {\r
- logger.debug("No device reachability check timer tasks exist.");\r
- return;\r
- }\r
-\r
- for (DeviceDataEntity deviceDataEntity : deviceDataEntityList) {\r
- String heartBeatPeriod = null;\r
-\r
- if (null != deviceDataEntity.getAttributesMap()) {\r
- heartBeatPeriod =\r
- deviceDataEntity.getAttributesMap().get(VesAgentConstants.HEART_BEAT_PERIOD);\r
- }\r
-\r
- if (!VesAgentUtils.isNullOrEmpty(heartBeatPeriod)\r
- && !heartBeatPeriod.equals(VesAgentConstants.REMOVE_HEART_BEAT_TIMER_VAL)) {\r
- logger.info("Creating device connectivity check timer tasks for device {}.",\r
- deviceDataEntity.getDeviceId());\r
- ScheduleInfo scheduleInfo = new ScheduleInfo();\r
- scheduleInfo.setInterval(Integer.parseInt(heartBeatPeriod));\r
- scheduleInfo.setTimeUnit(TimeUnit.SECONDS);\r
-\r
- HeartBeatTimeoutTask callbackTask = getBeanInstance(deviceDataEntity.getDeviceId());\r
-\r
- timerService.schedule(deviceDataEntity.getDeviceId(), scheduleInfo, callbackTask);\r
- }\r
- }\r
- }\r
-}\r
+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<String, HeartBeatTimeoutTask> 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<DeviceDataEntity> 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);
+ }
+ }
+ }
+}