/** * Retrieves a list of all the RouteConfigs for specified Agency and stores the result in a * MainModel variable */ public void processAllRouteConfigs() { mainView.updateStatus("Address search disabled until Route Configs loaded..."); try { long current = System.currentTimeMillis(); RouteList routeList = mainModel.getRouteList(); Map<String, RouteConfig> allRouteConfigs = new HashMap<String, RouteConfig>(routeList.getRoutes().size()); mainView.setupProgressBar(routeList.getRoutes().size()); int progressLength = 1; for (Route route : routeList.getRoutes()) { RouteConfig routeConfig = mainModel.getRouteConfig(route); allRouteConfigs.put(route.getTag(), routeConfig); mainView.updateProgressBar(progressLength++); Thread.sleep(1); } mainModel.setAllRouteConfigs(allRouteConfigs); mainView.updateStatus( "It took " + (System.currentTimeMillis() - current) + " ms to get all routeConfigs."); Thread.sleep(5000); mainView.updateStatus(MainView.DEFAULT_STATUS); } catch (InterruptedException | ServiceUnavailableException e) { e.printStackTrace(); } }
/** * Accepts Route Tag value to retrieve Route object. Gets list of GeoPosition points using Route * object. Draws route on map based on retrieved GeoPosition points. * * @param routeTag - Route Object Tag value (String) */ private void drawMapRoute(String routeTag) { try { Route route = mainModel.getRoute(routeTag); RouteConfig routeConfig = mainModel.getRouteConfig(route); ArrayList<Path> ttfPaths = mainModel.getPathList(route); mapControl = mainView.getMapControl(); mapControl.drawRoute(routeConfig, ttfPaths); mapControl.getAllOverlays(); mainView.updateMapViewer(); } catch (ServiceUnavailableException e) { mainView.notifyAndExit(MainView.NEXTBUS_SERVICE_UNAVAILABLE); } }