@Override public void handleEvent(PersonDepartureEvent event) { if (event.getLegMode().equals(TransportMode.car)){ if (this.personsWithPlan.contains(event.getPersonId())) { Coord departureCoord = network.getLinks().get(event.getLinkId()).getCoord(); this.lastDepartureLocation.put(event.getPersonId(), departureCoord ); this.lastDepartureTime.put(event.getPersonId(), event.getTime()); } } } /**
@Override public void handleEvent(PersonDepartureEvent event) { // for the first link every vehicle needs one second without delay earliestLinkExitTimePerAgent.put(event.getPersonId(), event.getTime() + 1); }
@Override public void handleEvent(PersonDepartureEvent event) { this.transportModes.put(event.getPersonId(), event.getLegMode()); }
@Override public void handleEvent(PersonDepartureEvent event) { personDepartureLinks.put(event.getPersonId(), event.getLinkId()); }
@Override public void handleEvent(PersonDepartureEvent event) { if(event.getLegMode().equals("pt") && agentsWaitingData.get(event.getPersonId())==null) agentsWaitingData.put(event.getPersonId(), event.getTime()); else if(agentsWaitingData.get(event.getPersonId())!=null) new RuntimeException("Departing with old data"); } @Override
@Override public void handleEvent(final PersonDepartureEvent event) { testForSnapshot(event.getTime()); this.eventLinks.get(event.getLinkId()).departure(getEventAgent(event.getPersonId(), event.getTime())); }
@Override public void handleEvent(PersonDepartureEvent event) { this.driverAgents.put(event.getPersonId(), event ) ; }
ProtobufEvents.PersonDepartureEvent.Builder pd = ProtobufEvents.PersonDepartureEvent.newBuilder() .setTime(event.getTime()) .setLinkId(ProtobufEvents.LinkId.newBuilder().setId(((PersonDepartureEvent) event).getLinkId().toString())) .setLegMode(((PersonDepartureEvent) event).getLegMode()) .setPersId(ProtobufEvents.PersonId.newBuilder().setId(((PersonDepartureEvent) event).getPersonId().toString())); eb.setType(ProtobufEvents.Event.Type.PersonDeparture).setPersonDeparture(pd);
public void handleEvent(PersonDepartureEvent event) { Leg leg = PopulationUtils.createLeg(event.getLegMode()); leg.setDepartureTime(event.getTime()); currentLeg = leg; currentRoute = new ArrayList<Id<Link>>(); }
String legMode = atts.getValue(PersonDepartureEvent.ATTRIBUTE_LEGMODE); String mode = legMode == null ? null : legMode.intern(); this.events.processEvent(new PersonDepartureEvent(time, Id.create(atts.getValue(PersonDepartureEvent.ATTRIBUTE_PERSON), Person.class), Id.create(atts.getValue(PersonDepartureEvent.ATTRIBUTE_LINK), Link.class), mode)); } else if (PersonStuckEvent.EVENT_TYPE.equals(eventType)) { String legMode = atts.getValue(PersonStuckEvent.ATTRIBUTE_LEGMODE);
@Override public void handleEvent(PersonDepartureEvent event) { this.departureTime = event.getTime(); } }
this.currentLegIsPtLeg = TransportMode.pt.equals( ((PersonDepartureEvent)event).getLegMode() ); if ( currentLegIsPtLeg ) { if ( !this.nextStartPtLegIsFirstOfTrip ) {
((PersonDepartureEvent) list.get(index)).getLinkId().toString())); index++;
@Override public void handleEvent(PersonDepartureEvent event) { Integer currentLeg = agentsCurrentLeg.get(event.getPersonId()); if(currentLeg == null) currentLeg = 0; else currentLeg++; agentsCurrentLeg.put(event.getPersonId(), currentLeg); if(event.getLegMode().equals("pt") && agentsWaitingData.get(event.getPersonId())==null) agentsWaitingData.put(event.getPersonId(), event.getTime()); else if(agentsWaitingData.get(event.getPersonId())!=null) new RuntimeException("Departing with old data"); } @Override
@Override public void handleEvent(PersonDepartureEvent event) { if(!super.ptDriverIds.contains(event.getPersonId())){ this.agentId2AgentDepartureEventTime.put(event.getPersonId(), event.getTime()); } }
@Override public void handleEvent(PersonDepartureEvent event) { writeLine(event.getTime(), event.getPersonId(), event.getLinkId(), Number.PersonDeparture.ordinal(), PersonDepartureEvent.EVENT_TYPE); }
private void handlePersonDepartureEvent(PersonDepartureEvent ev) { Map<Id<Person>, Monitor> toRemove = new HashMap<>(); PersonDepartureEvent event = ev; Id<Person> driverId = event.getPersonId(); Gbl.assertNotNull(driverId); Monitor monitor = monitors.get(DepartedDestination).get(driverId); if (monitor != null) { if (monitor.getAgentId().equals(event.getPersonId()) && monitor.getLinkId().equals(event.getLinkId())) { if (monitor.getHandler().handle(monitor.getAgentId(), monitor.getLinkId(), monitor.getEvent())) { toRemove.put(driverId,monitor); } } } synchronized (monitors.get(DepartedDestination)) { monitors.get(DepartedDestination).entrySet().removeAll(toRemove.entrySet()); } }
@Override public void handleEvent(PersonDepartureEvent event) { if (!eventsByPerson.containsKey(event.getPersonId())) { eventsByPerson.put(event.getPersonId(), new LinkedList<Event>()); } eventsByPerson.get(event.getPersonId()).add(event); allEvents.add(event); }
private void startMode(final PersonDepartureEvent event) { if ( !isRelevant( event.getPersonId() ) ) return; currentModeOfRelevantAgents.put( event.getPersonId() , event.getLegMode() ); }
public void testGetTravelTime(){ LinkedList<Event> events=new LinkedList<Event>(); events.add(new PersonDepartureEvent(20, Id.create("2", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonArrivalEvent(30, Id.create("2", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonDepartureEvent(90, Id.create("1", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonArrivalEvent(110, Id.create("1", Person.class), Id.create("0", Link.class), TransportMode.car)); assertEquals(20.0, EventLibrary.getTravelTime(events,1), EPSILON); }