package org.wikiwebserver.distribute.se.gui;

import javax.swing.DefaultListModel;
import javax.swing.SwingUtilities;

import org.wikiwebserver.distribute.interfaces.Task;
import org.wikiwebserver.distribute.interfaces.TaskStateChangeListener;
import org.wikiwebserver.distribute.se.RemoteWorkerApp;

public class TaskHistoryModel extends DefaultListModel implements TaskStateChangeListener {
	
	private static final long serialVersionUID = 1L;

	public TaskHistoryModel() {
		RemoteWorkerApp.getWorker().addTaskStateChangeListener(this);
	}

	public void taskStateChanged(final Task task) {
		
	    if (task.isComplete()) {
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    			    add(0, task);
    			}
    		});
	    }

	}
}

