public PseudoClockScheduler createInstance() { return new PseudoClockScheduler(); } };
/** * @inheritDoc */ public long advanceTime(long amount, TimeUnit unit) { return this.runCallBacksAndIncreaseTimer( unit.toMillis( amount ) ); }
private void applyTimeMachine(ExecutionTrace executionTrace) { ((PseudoClockScheduler) workingMemory.getSessionClock()).advanceTime( getTargetTime( executionTrace ) - getCurrentTime(), TimeUnit.MILLISECONDS ); }
@Test public void testTestingEventListener() throws Exception { Scenario sc = new Scenario(); sc.getRules().add("foo"); sc.getRules().add("bar"); ExecutionTrace ext = new ExecutionTrace(); sc.getFixtures().add(ext); MockWorkingMemory wm = new MockWorkingMemory(); PseudoClockScheduler clock = new PseudoClockScheduler(); long time = new Date().getTime(); clock.setStartupTime(time); clock.setSession(wm); wm.setSessionClock(clock); ScenarioRunner run = new ScenarioRunner( null, getClassLoader(), wm); run.run(sc); assertNotNull(wm.agendaEventListener); assertTrue(wm.agendaEventListener instanceof TestingEventListener); assertEquals(2, sc.getRules().size()); assertTrue(sc.getRules().contains("foo")); assertTrue(sc.getRules().contains("bar")); }
/** * @inheritDoc * * @see org.drools.time.TimerService#scheduleJob(org.drools.time.Job, org.drools.time.JobContext, org.drools.time.Trigger) */ public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger) { Date date = trigger.hasNextFireTime(); if ( date != null ) { DefaultJobHandle jobHandle = new DefaultJobHandle( idCounter.getAndIncrement() ); TimerJobInstance jobInstance = jobFactoryManager.createTimerJobInstance( job, ctx, trigger, jobHandle, this ); jobHandle.setTimerJobInstance( (TimerJobInstance) jobInstance ); internalSchedule( (TimerJobInstance) jobInstance ); return jobHandle; } return null; }
private void applyTimeMachine(ExecutionTrace executionTrace) { ((PseudoClockScheduler) workingMemory.getSessionClock()).advanceTime( getTargetTime( executionTrace ) - getCurrentTime(), TimeUnit.MILLISECONDS ); }
Scenario sc = new Scenario(); MockWorkingMemory wm = new MockWorkingMemory(); PseudoClockScheduler clock = new PseudoClockScheduler(); long time = new Date().getTime(); clock.setStartupTime(time); clock.setSession(wm); wm.setSessionClock(clock); ScenarioRunner run = new ScenarioRunner(
if (session.getTimerService() instanceof PseudoClockScheduler) { PseudoClockScheduler clock = (PseudoClockScheduler) session.getTimerService(); clock.advanceTime( time, TimeUnit.MILLISECONDS );
public static TimerService getTimerService( SessionConfiguration config ) { switch( config.getClockType() ) { case REALTIME_CLOCK: return config.newTimerService(); case PSEUDO_CLOCK: return new PseudoClockScheduler(); } return null; } }
clock.advanceTime( _session.getTime(), TimeUnit.MILLISECONDS );