@Override public EventAPI getEventAPI() { return delegate.getEventAPI(); }
RtCentralModel(RealtimeClockController c, RtSimSolver s, PDPRoadModel rm, PDPModel pm, ImmutableSet<Options> opts) { problemHasChanged = false; clock = c; solver = s; roadModel = rm; sleepOnChange = opts.contains(Options.SLEEP_ON_CHANGE); continuousUpdates = opts.contains(Options.CONTINUOUS_UPDATES); vehicles = new ArrayList<>(); pm.getEventAPI().addListener(VehicleChecker.INSTANCE, PDPModelEventType.NEW_VEHICLE); }
@Override public void registerModelProvider(ModelProvider mp) { final PDPModel pm = Optional.fromNullable(mp.getModel(PDPModel.class)) .get(); pm.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { final PDPModelEvent event = (PDPModelEvent) e; final Parcel dp = event.parcel; receiveParcel(verifyNotNull(dp), event.time); } }, PDPModelEventType.NEW_PARCEL); }
@Override public void registerModelProvider(ModelProvider mp) { rm = Optional.fromNullable(mp.tryGetModel(RoadModel.class)); Optional .fromNullable(mp.tryGetModel(PDPModel.class)) .get() .getEventAPI() .addListener(this, PDPModelEventType.END_DELIVERY, PDPModelEventType.END_PICKUP); }
@Override public void registerModelProvider(ModelProvider mp) { rm = Optional.fromNullable(mp.tryGetModel(RoadModel.class)); Optional .fromNullable(mp.tryGetModel(PDPModel.class)) .get() .getEventAPI() .addListener(this, PDPModelEventType.END_DELIVERY, PDPModelEventType.END_PICKUP); }
@Override public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) { super.initRoadPDP(pRoadModel, pPdpModel); final RouteFollowingVehicle vehicle = this; getPDPModel().getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { if (!(e instanceof PDPModelEvent)) { return; } final List<Parcel> route = new ArrayList<>(vehicle.getRoute()); final Parcel newlyAddedParcel = ((PDPModelEvent) e).parcel; route.add(newlyAddedParcel); route.add(newlyAddedParcel); vehicle.setRoute(route); } }, PDPModelEventType.NEW_PARCEL); }
@Override public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) { super.initRoadPDP(pRoadModel, pPdpModel); final RouteFollowingVehicle vehicle = this; getPDPModel().getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { if (!(e instanceof PDPModelEvent)) { return; } final List<Parcel> route = new ArrayList<>(vehicle.getRoute()); final Parcel newlyAddedParcel = ((PDPModelEvent) e).parcel; route.add(newlyAddedParcel); route.add(newlyAddedParcel); vehicle.setRoute(route); } }, PDPModelEventType.NEW_PARCEL); }
RtSolverModel(RealtimeClockController c, PDPRoadModel rm, PDPModel pm, Mode m, int threads, boolean threadGrouping) { clock = c; roadModel = rm; pdpModel = pm; manager = new SimSolversManager(); executor = Optional.absent(); mode = m; threadGroupingEnabled = threadGrouping; threadPoolSize = threads; receivedEvents = Collections.synchronizedList(new ArrayList<Event>()); clock.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event event) { manager.checkExceptions(); shutdown(); } }, ClockEventType.STOPPED); pdpModel.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { manager.checkExceptions(); LOGGER.debug("new parcel -> switch to real time"); clock.switchToRealTime(); } }, PDPModelEventType.NEW_PARCEL); initExecutor(); }
@Override public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) { super.initRoadPDP(pRoadModel, pPdpModel); getPDPModel().getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { simSolver.get() .solve(SolveArgs.create() .useCurrentRoutes( ImmutableList.of(ImmutableList.<Parcel>of()))); } }, PDPModelEventType.NEW_PARCEL); } }
final TimelineBar timelineBar = new TimelineBar(parent.getDisplay()); final Timeline timeline = new Timeline(parent.getDisplay()); pdpModel.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) {
final TimelineBar timelineBar = new TimelineBar(parent.getDisplay()); final Timeline timeline = new Timeline(parent.getDisplay()); pdpModel.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) {
StatsTracker(ScenarioController scenContr, Clock c, RoadModel rm, PDPModel pm) { clock = c; roadModel = rm; eventDispatcher = new EventDispatcher(StatsProvider.EventTypes.values()); theListener = new TheListener(); scenContr.getEventAPI().addListener(theListener, SCENARIO_STARTED, SCENARIO_FINISHED, SCENARIO_EVENT); roadModel.getEventAPI().addListener(theListener, MOVE); clock.getEventAPI().addListener(theListener, STARTED, STOPPED); pm.getEventAPI() .addListener(theListener, START_PICKUP, END_PICKUP, START_DELIVERY, END_DELIVERY, NEW_PARCEL, NEW_VEHICLE); }
StatsTracker(ScenarioController scenContr, Clock c, RoadModel rm, PDPModel pm) { clock = c; roadModel = rm; eventDispatcher = new EventDispatcher(StatsProvider.EventTypes.values()); theListener = new TheListener(); scenContr.getEventAPI().addListener(theListener, SCENARIO_STARTED, SCENARIO_FINISHED, SCENARIO_EVENT); roadModel.getEventAPI().addListener(theListener, MOVE); clock.getEventAPI().addListener(theListener, STARTED, STOPPED); pm.getEventAPI() .addListener(theListener, START_PICKUP, END_PICKUP, START_DELIVERY, END_DELIVERY, NEW_PARCEL, NEW_VEHICLE); }
sim.getModelProvider().getModel(PDPModel.class).getEventAPI() .addListener(new Listener() { @Override
model.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event event) {
pm.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) {
pm.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) {
pm.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) {