use of org.activiti.engine.runtime.Clock in project Activiti by Activiti.
the class TaskDueDateExtensionsTest method testRelativeDueDateStringExtension.
@Deployment
public void testRelativeDueDateStringExtension() throws Exception {
Clock clock = processEngineConfiguration.getClock();
clock.setCurrentCalendar(new GregorianCalendar(2015, 0, 1));
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("dateVariable", "P2DT5H40M");
// Start process-instance, passing ISO8601 duration formatted String that should be used to calculate dueDate
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("dueDateExtension", variables);
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
assertNotNull(task.getDueDate());
Period period = new Period(task.getCreateTime().getTime(), task.getDueDate().getTime());
assertEquals(2, period.getDays());
assertEquals(5, period.getHours());
assertEquals(40, period.getMinutes());
clock.reset();
}
use of org.activiti.engine.runtime.Clock in project Activiti by Activiti.
the class PlaybackRunTest method testProcessInstanceStartEvents.
@Test
public void testProcessInstanceStartEvents() throws Exception {
recordEvents();
final SimpleSimulationRun.Builder builder = new SimpleSimulationRun.Builder();
// init simulation run
Clock clock = new ThreadLocalClock(new DefaultClockFactory());
ProcessEngineConfigurationImpl config = (ProcessEngineConfigurationImpl) ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
config.setClock(clock);
SimulationProcessEngineFactory simulationProcessEngineFactory = new SimulationProcessEngineFactory(config);
final ProcessEngineImpl simProcessEngine = simulationProcessEngineFactory.getObject();
builder.processEngine(simProcessEngine).eventCalendar((new SimpleEventCalendarFactory(clock, new SimulationEventComparator(), listener.getSimulationEvents())).getObject()).eventHandlers(getHandlers());
SimpleSimulationRun simRun = builder.build();
simRun.execute(new NoExecutionVariableScope());
checkStatus(simProcessEngine);
simProcessEngine.getProcessEngineConfiguration().setDatabaseSchemaUpdate("create-drop");
simProcessEngine.close();
ProcessEngines.destroy();
}
use of org.activiti.engine.runtime.Clock in project Activiti by Activiti.
the class SimpleSimulationRunTest method createDebugger.
private SimulationDebugger createDebugger() {
final SimpleSimulationRun.Builder builder = new SimpleSimulationRun.Builder();
// init simulation run
Clock clock = new ThreadLocalClock(new DefaultClockFactory());
ProcessEngineConfigurationImpl config = (ProcessEngineConfigurationImpl) ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
config.setClock(clock);
SimulationProcessEngineFactory simulationProcessEngineFactory = new SimulationProcessEngineFactory(config);
builder.processEngine(simulationProcessEngineFactory.getObject()).eventCalendar((new SimpleEventCalendarFactory(clock, new SimulationEventComparator(), listener.getSimulationEvents())).getObject()).eventHandlers(getHandlers());
return builder.build();
}
use of org.activiti.engine.runtime.Clock in project Activiti by Activiti.
the class AbstractPlaybackTest method runPlayback.
private void runPlayback() throws Throwable {
SimulationDebugger simDebugger = null;
try {
// init simulation run
Clock clock = new ThreadLocalClock(new DefaultClockFactory());
FactoryBean<ProcessEngineImpl> simulationProcessEngineFactory = new SimulationProcessEngineFactory(ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault());
final SimpleSimulationRun.Builder builder = new SimpleSimulationRun.Builder();
builder.processEngine(simulationProcessEngineFactory.getObject()).eventCalendar((new SimpleEventCalendarFactory(clock, new SimulationEventComparator(), listener.getSimulationEvents())).getObject()).eventHandlers(getHandlers());
simDebugger = builder.build();
simDebugger.init(new NoExecutionVariableScope());
this.processEngine = SimulationRunContext.getProcessEngine();
initializeServices();
deploymentIdFromDeploymentAnnotation = TestHelper.annotationDeploymentSetUp(processEngine, getClass(), getName());
simDebugger.runContinue();
_checkStatus();
} catch (AssertionFailedError e) {
log.warn("Playback simulation {} has failed", getName());
log.error(EMPTY_LINE);
log.error("ASSERTION FAILED: {}", e, e);
exception = e;
throw e;
} catch (Throwable e) {
log.warn("Playback simulation {} has failed", getName());
log.error(EMPTY_LINE);
log.error("EXCEPTION: {}", e, e);
exception = e;
throw e;
} finally {
if (simDebugger != null) {
TestHelper.annotationDeploymentTearDown(processEngine, deploymentIdFromDeploymentAnnotation, getClass(), getName());
simDebugger.close();
assertAndEnsureCleanDb();
}
this.processEngineConfiguration.getClock().reset();
// Can't do this in the teardown, as the teardown will be called as part of the super.runBare
closeDownProcessEngine();
}
}
use of org.activiti.engine.runtime.Clock in project Activiti by Activiti.
the class AbstractPlaybackTest method initializeProcessEngine.
@Override
protected void initializeProcessEngine() {
Clock clock = new DefaultClockImpl();
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
processEngineConfiguration.setClock(clock);
this.processEngine = (new RecordableProcessEngineFactory((ProcessEngineConfigurationImpl) processEngineConfiguration, listener)).getObject();
}
Aggregations