package org.geoserver.bkprst.test;
import java.util.Date;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.geoserver.bkprst.BrTask;
import org.geoserver.bkprst.BrTaskState;
import org.geoserver.bkprst.ConfigurableDispatcherCallback;
import org.geotools.util.logging.Logging;
/**
* Inner classes simulating tasks
*/
class MockBrTask extends BrTask {
/** serialVersionUID */
private static final long serialVersionUID = -2051509813693250760L;
private final static Logger LOGGER = Logging.getLogger(MockBrTask.class.toString());
public MockBrTask(UUID id, String path, ConfigurableDispatcherCallback locker) {
super(id, path, locker);
}
/**
* Simulates the run of a task
*/
public void run () {
this.state = BrTaskState.STARTING;
this.lock();
LOGGER.finest("Task " + this.id.toString() + " is started");
this.startTime = new Date();
this.progress = 0;
try {
int i;
for (i = 0; i < 10; i++) {
if (this.state == BrTaskState.STOPPED) {
break;
}
Thread.sleep(BrManagerTest.TASKDURATION / 10);
}
this.progress = (i + 1) * 10;
} catch (InterruptedException e) {
LOGGER.log(Level.FINER, e.getMessage(), e);
}
if (this.state != BrTaskState.STOPPED) {
this.endTime = new Date();
this.state = BrTaskState.COMPLETED;
LOGGER.finest("Task " + this.id.toString() + " is completed");
this.progress = 100;
}
this.unlock();
}
}