public void createNetwork() { List<Tuple<TransitLine, TransitRoute>> toBeRemoved = new LinkedList<Tuple<TransitLine, TransitRoute>>(); for (TransitLine tLine : this.schedule.getTransitLines().values()) { for (TransitRoute tRoute : tLine.getRoutes().values()) { ArrayList<Id<Link>> routeLinks = new ArrayList<Id<Link>>(); TransitRouteStop prevStop = null; for (TransitRouteStop stop : tRoute.getStops()) { Link link = getNetworkLink(prevStop, stop); routeLinks.add(link.getId()); prevStop = stop; } if (routeLinks.size() > 0) { NetworkRoute route = RouteUtils.createNetworkRoute(routeLinks, this.network); tRoute.setRoute(route); } else { System.err.println("Line " + tLine.getId() + " route " + tRoute.getId() + " has less than two stops. Removing this route from schedule."); toBeRemoved.add(new Tuple<TransitLine, TransitRoute>(tLine, tRoute)); } } } for (Tuple<TransitLine, TransitRoute> remove : toBeRemoved) { remove.getFirst().removeRoute(remove.getSecond()); } }
public void testRoute() { Fixture f = new Fixture(); Link link1 = new FakeLink(Id.create(1, Link.class), null, null); Link link2 = new FakeLink(Id.create(2, Link.class), null, null); Link link3 = new FakeLink(Id.create(3, Link.class), null, null); NetworkRoute route1 = RouteUtils.createLinkNetworkRouteImpl(link1.getId(), link2.getId()); NetworkRoute route2 = RouteUtils.createLinkNetworkRouteImpl(link1.getId(), link3.getId()); f.tRoute.setRoute(route1); assertEquals(route1, f.tRoute.getRoute()); f.tRoute.setRoute(route2); assertEquals(route2, f.tRoute.getRoute()); }