@Override public TransitRouteStop createTransitRouteStop(final TransitStopFacility stop, final double arrivalDelay, final double departureDelay) { return new TransitRouteStopImpl(stop, arrivalDelay, departureDelay); }
/** * TransitRouteStops are typical Value Objects, so we consider two stops equal if they are equal field-wise. * */ @Override public boolean equals(Object obj) { if (!(obj instanceof TransitRouteStopImpl)) { return false; } TransitRouteStopImpl other = (TransitRouteStopImpl) obj; if (this.stop == null) { if (other.getStopFacility() != null) { return false; } } else { if (!stop.equals(other.getStopFacility())) { return false; } } if (this.departureOffset != other.getDepartureOffset()) { return false; } if (this.arrivalOffset != other.getArrivalOffset()) { return false; } if (this.awaitDepartureTime != other.isAwaitDepartureTime()) { return false; } return true; }
@Override public void endTag(final String name, final String content, final Stack<String> context) { if (Constants.DESCRIPTION.equals(name) && Constants.TRANSIT_ROUTE.equals(context.peek())) { this.currentTransitRoute.description = content; } else if (Constants.TRANSPORT_MODE.equals(name)) { this.currentTransitRoute.mode = content.intern(); } else if (Constants.TRANSIT_ROUTE.equals(name)) { List<TransitRouteStop> stops = new ArrayList<TransitRouteStop>(this.currentTransitRoute.stops.size()); for (TempStop tStop : this.currentTransitRoute.stops) { TransitRouteStopImpl routeStop = new TransitRouteStopImpl(tStop.stop, tStop.arrival, tStop.departure); stops.add(routeStop); routeStop.setAwaitDepartureTime(tStop.awaitDeparture); } NetworkRoute route = null; if (this.currentRouteProfile.firstLinkId != null) { if (this.currentRouteProfile.lastLinkId == null) { this.currentRouteProfile.lastLinkId = this.currentRouteProfile.firstLinkId; } route = this.routeFactory.createRoute(NetworkRoute.class, this.currentRouteProfile.firstLinkId, this.currentRouteProfile.lastLinkId); route.setLinkIds(this.currentRouteProfile.firstLinkId, this.currentRouteProfile.linkIds, this.currentRouteProfile.lastLinkId); } TransitRoute transitRoute = this.schedule.getFactory().createTransitRoute(this.currentTransitRoute.id, route, stops, this.currentTransitRoute.mode); transitRoute.setDescription(this.currentTransitRoute.description); for (Departure departure : this.currentTransitRoute.departures.values()) { transitRoute.addDeparture(departure); } this.currentTransitLine.addRoute(transitRoute); } }
List<TransitRouteStop> stops = new ArrayList<>(this.currentTransitRoute.stops.size()); for (TempStop tStop : this.currentTransitRoute.stops) { TransitRouteStopImpl routeStop = new TransitRouteStopImpl(tStop.stop, tStop.arrival, tStop.departure); stops.add(routeStop); routeStop.setAwaitDepartureTime(tStop.awaitDeparture);
protected TransitRouteStop createTransitRouteStop(final TransitStopFacility stop, final double arrivalDelay, final double departureDelay) { return new TransitRouteStopImpl(stop, arrivalDelay, departureDelay); }
protected Fixture() { Id<TransitRoute> id = Id.create(9791, TransitRoute.class); Link fromLink = new FakeLink(Id.create(10, Link.class), null, null); Link toLink = new FakeLink(Id.create(5, Link.class), null, null); NetworkRoute route = RouteUtils.createLinkNetworkRouteImpl(fromLink.getId(), toLink.getId()); this.stops = new ArrayList<TransitRouteStop>(); TransitRouteStop stop = new TransitRouteStopImpl(null, 50, 60); this.stops.add(stop); this.tRoute = TransitRouteTest.createTransitRoute(id, route, this.stops, "train"); } }
public void testInitialization() { Id<TransitRoute> id = Id.create(9791, TransitRoute.class); Link fromLink = new FakeLink(Id.create(10, Link.class), null, null); Link toLink = new FakeLink(Id.create(5, Link.class), null, null); NetworkRoute route = RouteUtils.createLinkNetworkRouteImpl(fromLink.getId(), toLink.getId()); List<TransitRouteStop> stops = new ArrayList<TransitRouteStop>(); TransitRouteStop stop = new TransitRouteStopImpl(null, 50, 60); stops.add(stop); TransitRoute tRoute = createTransitRoute(id, route, stops, "train"); assertEquals("wrong id.", id.toString(), tRoute.getId().toString()); assertEquals("wrong route.", route, tRoute.getRoute()); assertEquals(stops.size(), tRoute.getStops().size()); assertEquals(stop, tRoute.getStops().get(0)); assertEquals("train", tRoute.getTransportMode()); }
@Test public void testCreateTransitRoute() { TransitScheduleFactory builder = createTransitScheduleBuilder(); Id<TransitRoute> id = Id.create(2, TransitRoute.class); NetworkRoute route = RouteUtils.createLinkNetworkRouteImpl(Id.create(3, Link.class), Id.create(4, Link.class)); List<TransitRouteStop> stops = new ArrayList<TransitRouteStop>(); TransitRouteStop stop1 = new TransitRouteStopImpl(null, 50, 60); stops.add(stop1); String mode = TransportMode.pt; TransitRoute tRoute = builder.createTransitRoute(id, route, stops, mode); Assert.assertEquals(id, tRoute.getId()); Assert.assertEquals(route, tRoute.getRoute()); Assert.assertEquals(1, tRoute.getStops().size()); Assert.assertEquals(stop1, tRoute.getStops().get(0)); Assert.assertEquals(mode, tRoute.getTransportMode()); }
public void testStops() { Id<TransitRoute> id = Id.create(9791, TransitRoute.class); Link fromLink = new FakeLink(Id.create(10, Link.class), null, null); Link toLink = new FakeLink(Id.create(5, Link.class), null, null); NetworkRoute route = RouteUtils.createLinkNetworkRouteImpl(fromLink.getId(), toLink.getId()); List<TransitRouteStop> stops = new ArrayList<TransitRouteStop>(); TransitStopFacility stopFacility1 = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitStopFacility stopFacility2 = new TransitStopFacilityImpl(Id.create(2, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitStopFacility stopFacility3 = new TransitStopFacilityImpl(Id.create(3, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitStopFacility stopFacility4 = new TransitStopFacilityImpl(Id.create(4, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitRouteStop stop1 = new TransitRouteStopImpl(stopFacility1, 50, 60); TransitRouteStop stop2 = new TransitRouteStopImpl(stopFacility2, 150, 260); TransitRouteStop stop3 = new TransitRouteStopImpl(stopFacility3, 250, 260); stops.add(stop1); stops.add(stop2); stops.add(stop3); TransitRoute tRoute = createTransitRoute(id, route, stops, "train"); assertEquals(stops.size(), tRoute.getStops().size()); // test order assertEquals(stop1, tRoute.getStops().get(0)); assertEquals(stop2, tRoute.getStops().get(1)); assertEquals(stop3, tRoute.getStops().get(2)); // test getStop(TransitStopFacility) assertEquals(stop1, tRoute.getStop(stopFacility1)); assertEquals(stop2, tRoute.getStop(stopFacility2)); assertEquals(stop3, tRoute.getStop(stopFacility3)); assertNull(tRoute.getStop(stopFacility4)); }