diff options
author | Herbert Eiselt <herbert.eiselt@highstreet-technologies.com> | 2019-02-18 18:49:32 +0100 |
---|---|---|
committer | Herbert Eiselt <herbert.eiselt@highstreet-technologies.com> | 2019-02-18 18:50:01 +0100 |
commit | 9fbb2c4ed57dbdf9137bbd62f9925e177f940dd3 (patch) | |
tree | 16b41b66748462eeaf65f1dda40ae94d2bf12495 /sdnr/wt/devicemanager/provider/src/main/test/TestFileChangeNotification.java | |
parent | 7422dda6b2ca0b124e6a45fea876721c00f395db (diff) |
Increase Test coverage
Increase Test coverage over 50 for SDN-R devicemanager
Change-Id: I03eb5887d955abdfd4bdefa58c79c7f5356c9401
Issue-ID: SDNC-650
Signed-off-by: Herbert Eiselt <herbert.eiselt@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/devicemanager/provider/src/main/test/TestFileChangeNotification.java')
-rw-r--r-- | sdnr/wt/devicemanager/provider/src/main/test/TestFileChangeNotification.java | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/sdnr/wt/devicemanager/provider/src/main/test/TestFileChangeNotification.java b/sdnr/wt/devicemanager/provider/src/main/test/TestFileChangeNotification.java deleted file mode 100644 index 812ce4770..000000000 --- a/sdnr/wt/devicemanager/provider/src/main/test/TestFileChangeNotification.java +++ /dev/null @@ -1,147 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - ******************************************************************************/ -import java.io.File; -import java.io.IOException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class TestFileChangeNotification { - /** - * Check every now and then that a certain file has not changed. If it has, then - * call the {@link #doOnChange} method. - * - * @author JunHo Yoon - * @since 3.1.1 - */ - public static abstract class FileWatchdog extends Thread { - - private static final Logger LOGGER = LoggerFactory.getLogger(FileWatchdog.class); - /** - * The default delay between every file modification check, set to 60 - * seconds. - */ - public static final long DEFAULT_DELAY = 60000; - /** - * The name of the file to observe for changes. - */ - private String filename; - - /** - * The delay to observe between every check. By default set - * {@link #DEFAULT_DELAY}. - */ - private long delay = DEFAULT_DELAY; - - private File file; - private long lastModified = 0; - private boolean warnedAlready = false; - private boolean interrupted = false; - - protected FileWatchdog(String filename) { - this.filename = filename; - file = new File(filename); - setDaemon(true); - checkAndConfigure(); - } - - /** - * Set the delay to observe between each check of the file changes. - * - * @param delay - * the frequency of file watch. - */ - public void setDelay(long delay) { - this.delay = delay; - } - - /** - * abstract method to be run when the file is changed. - */ - protected abstract void doOnChange(); - - protected void checkAndConfigure() { - boolean fileExists; - try { - fileExists = file.exists(); - } catch (SecurityException e) { - LOGGER.warn("Was not allowed to read check file existence, file:[" + filename + "]."); - interrupted = true; // there is no point in continuing - return; - } - - if (fileExists) { - long l = file.lastModified(); // this can also throw a - if (lastModified ==0) { - lastModified = l; // is very unlikely. - } - if (l > lastModified) { // however, if we reached this point this - lastModified = l; // is very unlikely. - doOnChange(); - warnedAlready = false; - } - } else { - if (!warnedAlready) { - LOGGER.debug("[" + filename + "] does not exist."); - warnedAlready = true; - } - } - } - - @Override - public void run() { - while (!interrupted && !isInterrupted()) { - try { - Thread.sleep(delay); - } catch (InterruptedException e) { - } - checkAndConfigure(); - } - } - } - - public static class SomeWatchFile extends FileWatchdog{ - - protected SomeWatchFile(String filename) { - super(filename); - this.setDelay(1000); - } - - @Override - protected void doOnChange() { - System.out.println("File has changed"); - } - } - - public static void main(String args[]) throws IOException { - SomeWatchFile someWatchFile = new SomeWatchFile ("watchedFile.txt"); - someWatchFile.start(); - - String fileName = "watchedFile.txt"; - File tempFile = new File(fileName); - tempFile.createNewFile(); - - System.out.println("1. Press F5 in eclipse to see and modify 2. Press enter to exit"); - System.in.read(); - System.out.println("Remove file "+fileName); - tempFile.delete(); - } - - -} |