@Override public void receiveParcel(Auctioneer<T> auctioneer, Parcel p, long auctionStartTime) { LOGGER.info("{} receiveParcel {}", this, p); assignedParcels.add(p); eventDispatcher .dispatchEvent(new Event(CommunicatorEventType.CHANGE, this)); }
/** * Notifies this blackboard user of a change in the environment. */ public void update() { eventDispatcher .dispatchEvent(new Event(CommunicatorEventType.CHANGE, this)); }
protected void dispatchChangeEvent() { eventDispatcher.dispatchEvent( new Event(RoutePlannerEventType.CHANGE, this)); }
void close() { if (!shell.isDisposed()) { display.asyncExec(new Runnable() { @Override public void run() { shell.close(); } }); } if (builder.callback().isPresent()) { builder.callback().get() .handleEvent(new Event(Clock.ClockEventType.STOPPED, null)); } }
@Override public boolean releaseParcel(Parcel p) { checkArgument(!pdpModel.get().getParcelState(p).isPickedUp() && !pdpModel.get().getParcelState(p).isTransitionState()); LOGGER.info("{} releaseParcel {}", this, p); checkArgument(assignedParcels.contains(p)); assignedParcels.remove(p); checkState(!assignedParcels.contains(p)); eventDispatcher .dispatchEvent(new Event(CommunicatorEventType.CHANGE, this)); return true; }
@Override public void handleEvent(Event e) { @SuppressWarnings("unchecked") final StateTransitionEvent<Trigger, RealtimeModel> event = (StateTransitionEvent<Trigger, RealtimeModel>) e; LOGGER.debug("{} {}", timeLapse, event); if ((event.newState == realtimeState || event.newState == INIT_RT) && eventDispatcher.hasListenerFor(SWITCH_TO_REAL_TIME)) { eventDispatcher.dispatchEvent(new Event(SWITCH_TO_REAL_TIME, ref)); } else if ((event.newState == st || event.newState == INIT_ST) && eventDispatcher.hasListenerFor(SWITCH_TO_SIM_TIME)) { eventDispatcher.dispatchEvent(new Event(SWITCH_TO_SIM_TIME, ref)); } } }, StateMachineEvent.values());
@OverridingMethodsMustInvokeSuper void cleanUpAfterException() { eventDispatcher.dispatchEvent(new Event(ClockEventType.STOPPED, this)); }
@Override public void doneForNow() { try { checkState(solveCount.decrementAndGet() >= 0); if (solveCount.get() == 0) { LOGGER.trace("doneForNow"); eventDispatcher.safeDispatchEvent( new Event(EventType.DONE_COMPUTING, reference)); simSolverEventDispatcher.safeDispatchEvent( new SolverEvent(RtSimSolver.EventType.DONE, currentSchedule, currentState)); } } catch (final RuntimeException e) { reportException(e); } }
void handleFailure(Throwable t) { if (t instanceof CancellationException || t instanceof InterruptedException) { LOGGER.info("RealtimeSolver execution got cancelled/interrupted"); try { eventDispatcher.dispatchEvent( new Event(RtSimSolverSchedulerBridge.EventType.DONE_COMPUTING, reference)); } catch (final RuntimeException e) { simSolversManager.addException(e); } } else { simSolversManager.addException(t); } }
eventDispatcher.dispatchEvent(new Event( RtSimSolverSchedulerBridge.EventType.START_COMPUTING, reference));
private void dispatchEvents(TimeLapse timeLapse) { TimedEvent e = null; while ((e = scenarioQueue.peek()) != null && e.getTime() <= timeLapse.getTime()) { scenarioQueue.poll(); if (status == null) { LOGGER.info("scenario started at virtual time:" + timeLapse.getTime()); status = EventType.SCENARIO_STARTED; disp.dispatchEvent(new Event(status, this)); } dispatch(e); } if ((e = scenarioQueue.peek()) != null && e.getTime() <= timeLapse.getTime() + timeLapse.getTickLength() && clock instanceof RealtimeClockController) { LOGGER.trace("Found an event in next tick, switch to RT"); ((RealtimeClockController) clock).switchToRealTime(); } if (e == null && status != EventType.SCENARIO_FINISHED) { status = EventType.SCENARIO_FINISHED; disp.dispatchEvent(new Event(status, this)); } }
@Override public void show() { shell.open(); for (final Listener l : listeners) { l.handleEvent(new Event(EventType.SHOW, this)); } if (!builder.viewOptions().contains(ViewOption.ASYNC)) { while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } if (shell.isDisposed()) { clockController.stop(); } } }
private void dispatchEvents(TimeLapse timeLapse) { TimedEvent e = null; while ((e = scenarioQueue.peek()) != null && e.getTime() <= timeLapse.getTime()) { scenarioQueue.poll(); if (status == null) { LOGGER.info("scenario started at virtual time:" + timeLapse.getTime()); status = EventType.SCENARIO_STARTED; disp.dispatchEvent(new Event(status, this)); } dispatch(e); } if ((e = scenarioQueue.peek()) != null && e.getTime() <= timeLapse.getTime() + timeLapse.getTickLength() && clock instanceof RealtimeClockController) { LOGGER.trace("Found an event in next tick, switch to RT"); ((RealtimeClockController) clock).switchToRealTime(); } if (e == null && status != EventType.SCENARIO_FINISHED) { status = EventType.SCENARIO_FINISHED; disp.dispatchEvent(new Event(status, this)); } }
@Test(expected = IllegalArgumentException.class) public void dispatchEventFail2() { dispatcher.dispatchEvent(new Event(OTHER_EVENT1)); }
routePlannerChanged = new AtomicBoolean(); eventDispatcher = new EventDispatcher(TruckEvent.values()); routeChangedEvent = new Event(TruckEvent.ROUTE_CHANGE, this); LOGGER.trace("Truck constructor, {}, {}, {}, {}.", rp, c, ra, lazyRouteComp);
clock.getCurrentTime()); if (totalVehicles == lastArrivalTimeAtDepot.size()) { eventDispatcher.dispatchEvent(new Event( StatsProvider.EventTypes.ALL_VEHICLES_AT_DEPOT, this));
clock.getCurrentTime()); if (totalVehicles == lastArrivalTimeAtDepot.size()) { eventDispatcher.dispatchEvent(new Event( StatsProvider.EventTypes.ALL_VEHICLES_AT_DEPOT, this));
assertFalse(dispatcher.hasListenerFor(OTHER_EVENT1)); dispatcher.dispatchEvent(new Event(EVENT2)); assertEquals(asList(), l1.getEventTypeHistory()); assertEquals(asList(EVENT2), l2.getEventTypeHistory()); assertEquals(asList(EVENT2), l3.getEventTypeHistory()); dispatcher.dispatchEvent(new Event(EVENT3)); assertEquals(asList(), l1.getEventTypeHistory()); assertEquals(asList(EVENT2), l2.getEventTypeHistory()); assertEquals(asList(EVENT2, EVENT3), l3.getEventTypeHistory()); dispatcher.dispatchEvent(new Event(EVENT1)); assertEquals(asList(EVENT1), l1.getEventTypeHistory()); assertEquals(asList(EVENT2, EVENT1), l2.getEventTypeHistory()); assertEquals(asList(EVENT2, EVENT3, EVENT1), l3.getEventTypeHistory()); dispatcher.dispatchEvent(new Event(EVENT3)); assertEquals(asList(EVENT1), l1.getEventTypeHistory()); assertEquals(asList(EVENT2, EVENT1), l2.getEventTypeHistory());