private void teleportVehicleTo(QVehicle vehicle, Id<Link> linkId) { if (vehicle.getCurrentLink() != null) { if (cntTeleportVehicle < 9) { cntTeleportVehicle++; log.info("teleport vehicle " + vehicle.getId() + " from link " + vehicle.getCurrentLink().getId() + " to link " + linkId); if (cntTeleportVehicle == 9) { log.info("No more occurrences of teleported vehicles will be reported."); } } QLinkI qlinkOld = (QLinkI) qNetsimEngine.getNetsimNetwork().getNetsimLink(vehicle.getCurrentLink().getId()); QVehicle result = qlinkOld.removeParkedVehicle(vehicle.getId()); if ( result==null ) { throw new RuntimeException( "Could not remove parked vehicle with id " + vehicle.getId() +" on the link id " // + linkId + vehicle.getCurrentLink().getId() + ". Maybe it is currently used by someone else?" + " (In which case ignoring this exception would lead to duplication of this vehicle.) " + "Maybe was never placed onto a link?" ); } } }
QVehicle vehicle = qlink.removeParkedVehicle(vehicleId); if (vehicle == null) { if (vehicleBehavior == VehicleBehavior.teleport) {