use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project OpenOLAT by OpenOLAT.
the class PersistentTaskDAO method createTask.
public PersistentTask createTask(String name, Serializable task, Identity creator, OLATResource resource, String resSubPath, Date scheduledDate) {
PersistentTask ptask = new PersistentTask();
Date currentDate = new Date();
ptask.setCreationDate(currentDate);
ptask.setLastModified(currentDate);
ptask.setScheduledDate(scheduledDate);
ptask.setName(name);
ptask.setCreator(creator);
ptask.setResource(resource);
ptask.setResSubPath(resSubPath);
ptask.setStatus(TaskStatus.newTask);
ptask.setTask(xstream.toXML(task));
dbInstance.getCurrentEntityManager().persist(ptask);
return ptask;
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project OpenOLAT by OpenOLAT.
the class TaskExecutorManagerImpl method getPersistedRunnableTask.
@Override
public <T extends Runnable> T getPersistedRunnableTask(Task task, Class<T> type) {
if (task instanceof PersistentTask) {
PersistentTask ptask = (PersistentTask) task;
@SuppressWarnings("unchecked") T runnable = (T) persistentTaskDao.deserializeTask(ptask);
return runnable;
}
return null;
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method deletedTask_byResourceAndSubpath.
@Test
public void deletedTask_byResourceAndSubpath() {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-9-" + UUID.randomUUID().toString());
String taskName = UUID.randomUUID().toString();
PersistentTask task1 = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "byResource", null);
PersistentTask task2 = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "byResource", null);
PersistentTask taskMark = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "byResourceMarker", null);
Assert.assertNotNull(task1);
Assert.assertNotNull(task2);
Assert.assertNotNull(taskMark);
dbInstance.commitAndCloseSession();
// delete tasks 1 and 2
persistentTaskDao.delete(re.getOlatResource(), "byResource");
dbInstance.commitAndCloseSession();
// check if the tasks are deleted
List<Task> tasks = persistentTaskDao.findTasks(re.getOlatResource());
Assert.assertNotNull(tasks);
Assert.assertFalse(tasks.isEmpty());
Assert.assertTrue(tasks.contains(taskMark));
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method createTask_withResource.
@Test
public void createTask_withResource() {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-1-" + UUID.randomUUID().toString());
dbInstance.commitAndCloseSession();
String taskName = UUID.randomUUID().toString();
PersistentTask task = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "test", null);
Assert.assertNotNull(task);
Assert.assertNotNull(task.getKey());
Assert.assertNotNull(task.getCreationDate());
Assert.assertNotNull(task.getLastModified());
Assert.assertNotNull(task.getTask());
Assert.assertEquals(TaskStatus.newTask, task.getStatus());
Assert.assertEquals(re.getOlatResource(), task.getResource());
Assert.assertEquals("test", task.getResSubPath());
Assert.assertEquals(creator, task.getCreator());
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method edit_workflow.
@Test
public void edit_workflow() {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-20-" + UUID.randomUUID().toString());
String taskName = UUID.randomUUID().toString();
PersistentTask task = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "edition", null);
Assert.assertNotNull(task);
dbInstance.commitAndCloseSession();
// pick
PersistentTask editableTask = persistentTaskDao.pickTaskForEdition(task.getKey());
Assert.assertNotNull(editableTask);
Assert.assertEquals(TaskStatus.edition, editableTask.getStatus());
dbInstance.commitAndCloseSession();
// second pick
PersistentTask notEditableTask = persistentTaskDao.pickTaskForEdition(task.getKey());
Assert.assertNull(notEditableTask);
dbInstance.commitAndCloseSession();
// return
persistentTaskDao.returnTaskAfterEdition(task.getKey(), null);
dbInstance.commitAndCloseSession();
// third pick
PersistentTask againEditableTask = persistentTaskDao.pickTaskForEdition(task.getKey());
Assert.assertNotNull(againEditableTask);
Assert.assertEquals(TaskStatus.edition, againEditableTask.getStatus());
dbInstance.commitAndCloseSession();
}
Aggregations