Search in sources :

Example 1 with Clock

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();
}
Also used : Task(org.activiti.engine.task.Task) HashMap(java.util.HashMap) GregorianCalendar(java.util.GregorianCalendar) Period(org.joda.time.Period) ProcessInstance(org.activiti.engine.runtime.ProcessInstance) Clock(org.activiti.engine.runtime.Clock) Deployment(org.activiti.engine.test.Deployment)

Example 2 with Clock

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();
}
Also used : NoExecutionVariableScope(org.activiti.engine.impl.el.NoExecutionVariableScope) DefaultClockFactory(org.activiti.crystalball.simulator.impl.clock.DefaultClockFactory) ThreadLocalClock(org.activiti.crystalball.simulator.impl.clock.ThreadLocalClock) Clock(org.activiti.engine.runtime.Clock) ProcessEngineConfigurationImpl(org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl) ThreadLocalClock(org.activiti.crystalball.simulator.impl.clock.ThreadLocalClock) ProcessEngineImpl(org.activiti.engine.impl.ProcessEngineImpl) Test(org.junit.Test)

Example 3 with Clock

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();
}
Also used : DefaultClockFactory(org.activiti.crystalball.simulator.impl.clock.DefaultClockFactory) ThreadLocalClock(org.activiti.crystalball.simulator.impl.clock.ThreadLocalClock) Clock(org.activiti.engine.runtime.Clock) ProcessEngineConfigurationImpl(org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl) ThreadLocalClock(org.activiti.crystalball.simulator.impl.clock.ThreadLocalClock)

Example 4 with Clock

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();
    }
}
Also used : NoExecutionVariableScope(org.activiti.engine.impl.el.NoExecutionVariableScope) ThreadLocalClock(org.activiti.crystalball.simulator.impl.clock.ThreadLocalClock) Clock(org.activiti.engine.runtime.Clock) DefaultClockFactory(org.activiti.crystalball.simulator.impl.clock.DefaultClockFactory) SimulationProcessEngineFactory(org.activiti.crystalball.simulator.impl.SimulationProcessEngineFactory) AssertionFailedError(junit.framework.AssertionFailedError) ThreadLocalClock(org.activiti.crystalball.simulator.impl.clock.ThreadLocalClock) ProcessEngineImpl(org.activiti.engine.impl.ProcessEngineImpl)

Example 5 with Clock

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();
}
Also used : ProcessEngineConfiguration(org.activiti.engine.ProcessEngineConfiguration) DefaultClockImpl(org.activiti.engine.impl.util.DefaultClockImpl) ThreadLocalClock(org.activiti.crystalball.simulator.impl.clock.ThreadLocalClock) Clock(org.activiti.engine.runtime.Clock) ProcessEngineConfigurationImpl(org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl) RecordableProcessEngineFactory(org.activiti.crystalball.simulator.impl.RecordableProcessEngineFactory)

Aggregations

Clock (org.activiti.engine.runtime.Clock)30 DefaultClockImpl (org.activiti.engine.impl.util.DefaultClockImpl)26 Test (org.junit.Test)15 DurationHelper (org.activiti.engine.impl.calendar.DurationHelper)14 Calendar (java.util.Calendar)9 Task (org.activiti.engine.task.Task)7 Date (java.util.Date)6 GregorianCalendar (java.util.GregorianCalendar)6 ThreadLocalClock (org.activiti.crystalball.simulator.impl.clock.ThreadLocalClock)6 ProcessInstance (org.activiti.engine.runtime.ProcessInstance)6 ActivitiEvent (org.activiti.engine.delegate.event.ActivitiEvent)5 ProcessEngineConfigurationImpl (org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl)5 Job (org.activiti.engine.runtime.Job)5 SimpleDateFormat (java.text.SimpleDateFormat)3 DefaultClockFactory (org.activiti.crystalball.simulator.impl.clock.DefaultClockFactory)3 Deployment (org.activiti.engine.test.Deployment)3 HashMap (java.util.HashMap)2 ProcessEngineImpl (org.activiti.engine.impl.ProcessEngineImpl)2 CycleBusinessCalendar (org.activiti.engine.impl.calendar.CycleBusinessCalendar)2 NoExecutionVariableScope (org.activiti.engine.impl.el.NoExecutionVariableScope)2