@Override public void handleEvent(final PersonLeavesVehicleEvent event) { if (this.analyzedTransitDrivers.contains(event.getPersonId()) || !this.analyzedTransitVehicles.contains(event.getVehicleId())) { return; // ignore transit drivers or persons entering non-(analyzed-)transit vehicles } // ----------------veh_passenger-(for occupancy)-------------------------- Id vehId = event.getVehicleId(); double time = event.getTime(); Integer nPassengers = this.vehPassengers.get(vehId); if (nPassengers == null) { throw new RuntimeException("null passenger-No. in vehicle ?"); } this.vehPassengers.put(vehId, nPassengers - 1); if (this.vehPassengers.get(vehId).intValue() == 0) { this.vehPassengers.remove(vehId); } Integer passengers = this.vehPassengers.get(vehId); this.occupancyRecord.append( "time :\t" + time + " veh :\t" + vehId + " has Passenger\t" + ((passengers != null) ? passengers : 0) + "\n"); }
@Override public void handleEvent(PersonLeavesVehicleEvent event) { if (event.getVehicleId().toString().equalsIgnoreCase(this.vehId)) { if (event.getTime() >= this.startTime && event.getTime() < this.stopTime) { AgentCountBox acb = this.enteredMap.get(event.getPersonId()); acb.travelTimeInVehicle = event.getTime() - acb.travelTimeInVehicle; this.completeAgents.add(acb); this.enteredMap.remove(event.getPersonId()); if (this.debug.containsKey(event.getPersonId())) { // log.warn("Agent " + event.getPersonId() + " counted twice"); this.numberOfAdditionalTripsPerformed++; } else { this.debug.put(event.getPersonId(), ""); } } } }