1 package org.onap.pnfsimulator.netconfmonitor;
3 import com.tailf.jnc.JNCException;
4 import java.io.IOException;
5 import java.util.TimerTask;
6 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationCache;
7 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationReader;
8 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationWriter;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
12 public class NetconfConfigurationCheckingTask extends TimerTask {
14 private static final Logger LOGGER = LoggerFactory.getLogger(NetconfConfigurationCheckingTask.class);
16 private final NetconfConfigurationReader reader;
17 private final NetconfConfigurationWriter writer;
18 private final NetconfConfigurationCache cache;
20 public NetconfConfigurationCheckingTask(NetconfConfigurationReader reader,
21 NetconfConfigurationWriter writer,
22 NetconfConfigurationCache cache) {
31 String currentConfiguration = reader.read();
32 if (!currentConfiguration.equals(cache.getConfiguration())) {
33 LOGGER.info("Configuration has changed, new configuration:\n\n{}", currentConfiguration);
34 writer.writeToFile(currentConfiguration);
35 cache.update(currentConfiguration);
37 } catch (IOException | JNCException e) {
38 LOGGER.warn("Error during configuration reading: {}", e.getMessage());