1 package org.onap.pnfsimulator.netconfmonitor;
3 import com.tailf.jnc.JNCException;
4 import java.io.IOException;
5 import java.util.Timer;
6 import javax.annotation.PostConstruct;
7 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationCache;
8 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationReader;
9 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationWriter;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Service;
16 public class NetconfMonitorService {
17 private static final Logger LOGGER = LoggerFactory.getLogger(NetconfMonitorService.class);
18 private static final long timePeriod = 1000L;
19 private static final long startDelay = 0;
22 private NetconfConfigurationReader reader;
23 private NetconfConfigurationWriter writer;
24 private NetconfConfigurationCache cache;
27 public NetconfMonitorService(Timer timer,
28 NetconfConfigurationReader reader,
29 NetconfConfigurationWriter writer,
30 NetconfConfigurationCache cache) {
39 setStartConfiguration();
40 NetconfConfigurationCheckingTask task = new NetconfConfigurationCheckingTask(reader, writer, cache);
41 timer.scheduleAtFixedRate(task, startDelay, timePeriod);
44 private void setStartConfiguration() {
46 String configuration = reader.read();
47 writer.writeToFile(configuration);
48 cache.update(configuration);
49 } catch (IOException | JNCException e) {
50 LOGGER.warn("Error during configuration reading: {}", e.getMessage());