public QVehicleImpl(final Vehicle basicVehicle) { this.id = basicVehicle.getId(); this.vehicle = basicVehicle; this.passengers = new ArrayList<>(); VehicleCapacity capacity = basicVehicle.getType().getCapacity(); if (capacity == null) { this.passengerCapacity = 4; if (warnCount < 10) { log.warn("No VehicleCapacity (= maximum number of passengers) set in Vehicle. " + "Using default value of 4. This is only a problem if you need vehicles with different " + "capacities, e.g. for minibuses."); warnCount++; if ( warnCount == 10 ) { log.warn( Gbl.FUTURE_SUPPRESSED ) ; } } } else { // do *not* subtract one for the driver! Most pt vehicles define the capacity without the driver. // for private cars, think about if we should subtract one from the capacity if the driver is set? // But if we do, change the number of seats of the default vehicle from 4 to 5. this.passengerCapacity = capacity.getSeats() + (capacity.getStandingRoom() == null ? 0 : capacity.getStandingRoom()); } }
private int getVehicleCapacity(Id<Vehicle> vehicleId) { VehicleType type = vehicles.get(vehicleId).getType(); VehicleCapacity capacity = vehicleTypes.get(type.getId()).getCapacity(); return capacity.getSeats() + capacity.getStandingRoom(); }
@Override public void updateVehicles(Vehicles vehicles) { this.vehId2VehicleCapacity = new HashMap<>(); for (Vehicle veh : vehicles.getVehicles().values()) { Integer seats = veh.getType().getCapacity().getSeats(); Integer standing = veh.getType().getCapacity().getStandingRoom(); // setting these values is not mandatory. Thus, they maybe null \\DR, aug'13 this.vehId2VehicleCapacity.put(veh.getId(), ((seats == null) ? 0 : seats) + ((standing == null) ? 0 : standing) - 1.0); } }
@Override public void updateVehicles(Vehicles vehicles) { this.vehId2VehicleCapacity = new HashMap<>(); for (Vehicle veh : vehicles.getVehicles().values()) { Integer seats = veh.getType().getCapacity().getSeats(); Integer standing = veh.getType().getCapacity().getStandingRoom(); // setting these values is not mandatory. Thus, they maybe null \\DR, aug'13 this.vehId2VehicleCapacity.put(veh.getId(), ((seats == null) ? 0 : seats) + ((standing == null) ? 0 : standing) - 1); } }
@Override public void updateVehicles(Vehicles vehicles) { this.vehId2VehicleCapacity = new HashMap<>(); for (Vehicle veh : vehicles.getVehicles().values()) { Integer seats = veh.getType().getCapacity().getSeats(); Integer standing = veh.getType().getCapacity().getStandingRoom(); // setting these values is not mandatory. Thus, they maybe null \\DR, aug'13 this.vehId2VehicleCapacity.put(veh.getId(), ((seats == null) ? 0 : seats) + ((standing == null) ? 0 : standing) - 1.0); } }
private void writeCapacity(VehicleCapacity cap) throws UncheckedIOException { this.writeStartTag(VehicleSchemaV1Names.CAPACITY, null); if (cap.getSeats() != null) { atts.clear(); atts.add(this.createTuple(VehicleSchemaV1Names.PERSONS, cap.getSeats())); this.writeStartTag(VehicleSchemaV1Names.SEATS, atts, true); } if (cap.getStandingRoom() != null) { atts.clear(); atts.add(this.createTuple(VehicleSchemaV1Names.PERSONS, cap.getStandingRoom())); this.writeStartTag(VehicleSchemaV1Names.STANDINGROOM, atts, true); } if (cap.getFreightCapacity() != null) { this.writeFreightCapacity(cap.getFreightCapacity()); } this.writeEndTag(VehicleSchemaV1Names.CAPACITY); }
@Override public void handleEvent(TransitDriverStartsEvent event) { this.ptVehicles.put(event.getVehicleId(), 0); VehicleCapacity vehicleCapacity = vehicles.getVehicles().get(event.getVehicleId()).getType().getCapacity(); this.capacities.put(event.getVehicleId(), vehicleCapacity.getSeats()+vehicleCapacity.getStandingRoom()); linesRoutesOfVehicle.put(event.getVehicleId(), new Tuple<Id<TransitLine>, Id<TransitRoute>>(event.getTransitLineId(), event.getTransitRouteId())); }
assertNotNull(vehType.getCapacity()); assertEquals(Integer.valueOf(5), vehType.getCapacity().getSeats()); assertEquals(Integer.valueOf(20), vehType.getCapacity().getStandingRoom()); assertNotNull(vehType.getCapacity().getFreightCapacity()); assertEquals(23.23, vehType.getCapacity().getFreightCapacity().getVolume(), EPSILON);