private void writeDepartures(final Map<Id<Departure>, Departure> departures) throws UncheckedIOException { this.writeStartTag(Constants.DEPARTURES, null); // optimization: only create one List for multiple departures List<Tuple<String, String>> attributes = new ArrayList<Tuple<String, String>>(3); for (Departure dep : departures.values()) { attributes.clear(); attributes.add(this.createTuple(Constants.ID, dep.getId().toString())); attributes.add(this.createTimeTuple(Constants.DEPARTURE_TIME, dep.getDepartureTime())); if (dep.getVehicleId() != null) { attributes.add(this.createTuple(Constants.VEHICLE_REF_ID, dep.getVehicleId().toString())); } this.writeStartTag(Constants.DEPARTURE, attributes, true); } this.writeEndTag(Constants.DEPARTURES); } }
Departure newDeparture = transitScheduleFactory.createDeparture(newDepartureId, oldDeparture.getDepartureTime()); newDeparture.setVehicleId(oldDeparture.getVehicleId()); mergeDestination.addDeparture(newDeparture);
private void writeDepartures(final Map<Id<Departure>, Departure> departures) throws IOException, UncheckedIOException { this.writeStartTag(Constants.DEPARTURES, null); // optimization: only create one List for multiple departures List<Tuple<String, String>> attributes = new ArrayList<>(3); for (Departure dep : departures.values()) { attributes.clear(); attributes.add(createTuple(Constants.ID, dep.getId().toString())); attributes.add(createTimeTuple(Constants.DEPARTURE_TIME, dep.getDepartureTime())); if (dep.getVehicleId() != null) { attributes.add(createTuple(Constants.VEHICLE_REF_ID, dep.getVehicleId().toString())); } if (AttributesUtils.isEmpty(dep.getAttributes())) { this.writeStartTag(Constants.DEPARTURE, attributes, true); } else { this.writeStartTag(Constants.DEPARTURE, attributes, false); this.writer.write(NL); this.attributesWriter.writeAttributes("\t\t\t\t\t", this.writer, dep.getAttributes()); this.writeEndTag(Constants.DEPARTURE); } } this.writeEndTag(Constants.DEPARTURES); } }
private void setLeg(final TransitLine line, final TransitRoute route, final Departure departure) { this.transitLine = line; this.transitRoute = route; this.departure = departure; this.departureTime = departure.getDepartureTime(); this.carRoute = route.getRoute(); }
@Override public void setVehicleId(final Id<Vehicle> vehicleId) { this.vehicleId = vehicleId; for (UmlaufStueckI umlaufStueck : umlaufStuecke) { if (umlaufStueck.isFahrt()) { umlaufStueck.getDeparture().setVehicleId(vehicleId); } } }
public void testInitialization() { Id<Departure> id = Id.create(1591, Departure.class); double time = 11.0 * 3600; Departure dep = createDeparture(id, time); assertEquals(id, dep.getId()); assertEquals(time, dep.getDepartureTime(), EPSILON); }
/** * Lazy initialization, as the vehicle info may not be available from the beginning. */ private void collectVehiclesInfo() { Set<Id> set = new HashSet<Id>(this.transitRoute.getDepartures().size()*2); for (Departure departure : this.transitRoute.getDepartures().values()) { if (departure.getVehicleId() != null) { set.add(departure.getVehicleId()); } } /* try to make it thread-safe by assigning class-member at the end. * if two threads enter this method, nothing bad should happen, * as both threads should generated the same initialization. */ this.routeVehicles = set; }
if (startTime > departure.getDepartureTime()) { startTime = departure.getDepartureTime(); if (endTime < departure.getDepartureTime()) { endTime = departure.getDepartureTime(); vehicleIds.add(departure.getVehicleId());
public void testVehicleId() { Departure dep = createDeparture(Id.create(6791, Departure.class), 7.0*3600); assertNull(dep.getVehicleId()); Id<Vehicle> vehId = Id.create(2491, Vehicle.class); dep.setVehicleId(vehId); assertEquals(vehId, dep.getVehicleId()); } }
Id<Departure> id = Id.create(atts.getValue(Constants.ID), Departure.class); this.currentDeparture = new DepartureImpl(id, Time.parseTime(atts.getValue("departureTime"))); this.currentAttributes = this.currentDeparture.getAttributes(); String vehicleRefId = atts.getValue(Constants.VEHICLE_REF_ID); if (vehicleRefId != null) { this.currentDeparture.setVehicleId(Id.create(vehicleRefId, Vehicle.class));
Id<Vehicle> vehicleIdDep1 = Id.create(0, Vehicle.class); Id<Vehicle> vehicleIdDep2 = Id.create(3, Vehicle.class); dep1.setVehicleId(vehicleIdDep1); dep2.setVehicleId(vehicleIdDep2); route1.addDeparture(dep1); route1.addDeparture(dep2); tl.handleEvent(new TransitDriverStartsEvent(7.0*3600-20, Id.create("ptDriver1", Person.class), vehicleIdDep1, line1.getId(), route1.getId(), dep1.getId())); tl.handleEvent(new PersonEntersVehicleEvent(7.0*3600-20, Id.create("ptDriver1", Person.class), vehicleIdDep1));
@Override public boolean removeDeparture(final Departure departure) { return null != this.departures.remove(departure.getId()); }
route1a.addDeparture(dep2); dep1.getAttributes().putAttribute("early", "yes"); Assert.assertFalse(AttributesUtils.isEmpty(dep1.getAttributes())); Assert.assertEquals("yes", dep1.getAttributes().getAttribute("early")); Departure dep2 = route1.getDepartures().get(Id.create("last", Departure.class)); Assert.assertNotNull(dep2); Assert.assertTrue(AttributesUtils.isEmpty(dep2.getAttributes()));
@Override public int compare(UmlaufStueck o1, UmlaufStueck o2) { return Double.compare(o1.getDeparture().getDepartureTime(), o2.getDeparture().getDepartureTime()); }
String vehicleRefId = atts.getValue(Constants.VEHICLE_REF_ID); if (vehicleRefId != null) { departure.setVehicleId(Id.create(vehicleRefId, Vehicle.class));
@Test public void testCreateDeparture() { TransitScheduleFactory builder = createTransitScheduleBuilder(); Id<Departure> id = Id.create(8, Departure.class); double time = 9.0*3600; Departure dep = builder.createDeparture(id, time); Assert.assertEquals(id, dep.getId()); Assert.assertEquals(time, dep.getDepartureTime(), MatsimTestUtils.EPSILON); }
public void setLine(TransitLine line) { this.line = line; this.vehicleIds = new TreeSet<>(); for (TransitRoute route : this.line.getRoutes().values()) { for (Departure departure : route.getDepartures().values()) { this.vehicleIds.add(departure.getVehicleId()); } } this.nVehicles = this.vehicleIds.size(); }
@Override public void addDeparture(final Departure departure) { final Id<Departure> id = departure.getId(); if (this.departures.containsKey(id)) { throw new IllegalArgumentException("There is already a departure with id " + id.toString() + " in transit route " + this.routeId); } this.departures.put(id, departure); }
Departure dep1 = route.getDepartures().get(depId1); assertNotNull(dep1); assertEquals(depId1, dep1.getId()); assertEquals(Time.parseTime(depTime1), dep1.getDepartureTime(), MatsimTestCase.EPSILON); assertEquals(Id.create("v 975", Vehicle.class), dep1.getVehicleId()); Departure dep2 = route.getDepartures().get(depId2); assertNotNull(dep2); assertEquals(depId2, dep2.getId()); assertEquals(Time.parseTime(depTime2), dep2.getDepartureTime(), MatsimTestCase.EPSILON); assertNull(dep2.getVehicleId());
System.out.print(Time.writeTime(departure.getDepartureTime())); Map<Id, Integer> accessCounter = getAccessCounter(departure); for (Id id : stopFacilityIds) {