package org.orienteer.core.tasks;
import org.orienteer.core.util.OSchemaHelper;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.record.impl.ODocument;
public class TestTask extends OTask {
public static final String TASK_CLASS = "TestTask";
public static final int PROGRESS = 100;
public static final long PROGRESS_CURRENT = 10;
public static final long PROGRESS_FINAL = 20;
/**
* Register fields in db
*/
public static void init(ODatabaseDocument db){
OSchemaHelper helper = OSchemaHelper.bind(db);
helper.oClass(TASK_CLASS,OTask.TASK_CLASS);
OTask.TASK_JAVA_CLASS_ATTRIBUTE.setValue(helper.getOClass(), TestTask.class.getName());
}
public static void close(ODatabaseDocument db){
db.getMetadata().getSchema().dropClass(TASK_CLASS);
}
public TestTask(ODocument oTask) {
super(oTask);
}
@Override
public OTaskSessionRuntime startNewSession() {
final OTaskSessionRuntime otaskSession = new OTaskSessionRuntime();
otaskSession
.setDeleteOnFinish((boolean) getField(OTask.Field.AUTODELETE_SESSIONS))
.setFinalProgress(PROGRESS_FINAL)
.start();
for (int i = 0; i < PROGRESS_CURRENT; i++) {
otaskSession.incrementCurrentProgress();
}
otaskSession.finish();
return otaskSession;
}
//////////////////////////////////////////////////////////////////////
}