package husacct.control.task.threading;
import java.util.Date;
import husacct.control.presentation.util.LoadingDialog;
import org.apache.log4j.Logger;
public class MonitorThread extends Thread implements Runnable {
private Logger logger = Logger.getLogger(MonitorThread.class);
private Thread taskThread;
private LoadingDialog loadingDialog;
public MonitorThread(Thread taskThread, LoadingDialog loadingDialog){
this.taskThread = taskThread;
this.loadingDialog = loadingDialog;
}
@Override
public void run() {
try {
taskThread.join();
if (loadingDialog != null) {
loadingDialog.dispose();
}
logger.info(new Date().toString() + String.format(" Finished: thread [%s], removed loader ", taskThread.getName()));
} catch (Exception exception){
taskThread.interrupt();
logger.error(String.format("thread [%s] interupted", taskThread.getName()));
}
}
}