X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=srcjar%2Forg%2Fapache%2Flog4j%2Fhelpers%2FFileWatchdog.java;fp=srcjar%2Forg%2Fapache%2Flog4j%2Fhelpers%2FFileWatchdog.java;h=0000000000000000000000000000000000000000;hb=0e684f72690bd6532272a39ab6c188a27559fd09;hp=b78a4af16cd78821aa283f3e6d538b2445db246e;hpb=91fb50c7dfcda9dcb3399d284f252075e89d54ff;p=jalview.git diff --git a/srcjar/org/apache/log4j/helpers/FileWatchdog.java b/srcjar/org/apache/log4j/helpers/FileWatchdog.java deleted file mode 100644 index b78a4af..0000000 --- a/srcjar/org/apache/log4j/helpers/FileWatchdog.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -// Contributors: Mathias Bogaert - -package org.apache.log4j.helpers; - -import java.io.File; - -/** - Check every now and then that a certain file has not changed. If it - has, then call the {@link #doOnChange} method. - - - @author Ceki Gülcü - @since version 0.9.1 */ -public abstract class FileWatchdog extends Thread { - - /** - The default delay between every file modification check, set to 60 - seconds. */ - static final public long DEFAULT_DELAY = 60000; - /** - The name of the file to observe for changes. - */ - protected String filename; - - /** - The delay to observe between every check. By default set {@link - #DEFAULT_DELAY}. */ - protected long delay = DEFAULT_DELAY; - - File file; - long lastModif = 0; - boolean warnedAlready = false; - boolean interrupted = false; - - protected - FileWatchdog(String filename) { - super("FileWatchdog"); - this.filename = filename; - file = new File(filename); - setDaemon(true); - checkAndConfigure(); - } - - /** - Set the delay to observe between each check of the file changes. - */ - public - void setDelay(long delay) { - this.delay = delay; - } - - abstract - protected - void doOnChange(); - - protected - void checkAndConfigure() { - boolean fileExists; - try { - fileExists = file.exists(); - } catch(SecurityException e) { - LogLog.warn("Was not allowed to read check file existance, file:["+ - filename+"]."); - interrupted = true; // there is no point in continuing - return; - } - - if(fileExists) { - long l = file.lastModified(); // this can also throw a SecurityException - if(l > lastModif) { // however, if we reached this point this - lastModif = l; // is very unlikely. - doOnChange(); - warnedAlready = false; - } - } else { - if(!warnedAlready) { - LogLog.debug("["+filename+"] does not exist."); - warnedAlready = true; - } - } - } - - public - void run() { - while(!interrupted) { - try { - Thread.sleep(delay); - } catch(InterruptedException e) { - // no interruption expected - } - checkAndConfigure(); - } - } -}