protected void runApplication(CommandLine cli, String[] originalArgs) throws Exception { String[] args = cli.getArgs(); if (args.length < 2) { printHelp(); System.exit(-1); } List<File> paths = new ArrayList<File>(); for (int i = 0; i < args.length - 1; ++i) { paths.add(new File(args[i])); } GtfsTransformer transformer = new GtfsTransformer(); transformer.setGtfsInputDirectories(paths); transformer.setOutputDirectory(new File(args[args.length - 1])); Option[] options = getOptionsInCommandLineOrder(cli, originalArgs); for (Option option : options) { String name = option.getOpt(); if (name.equals(ARG_REMOVE_REPEATED_STOP_TIMES)) configureRemoveRepeatedStopTimes(transformer); if (name.equals(ARG_REMOVE_DUPLICATE_TRIPS)) configureRemoveDuplicateTrips(transformer); if (name.equals(ARG_CHECK_STOP_TIMES)) configureEnsureStopTimesInOrder(transformer); if (name.equals(ARG_AGENCY_ID)) configureAgencyId(transformer, cli.getOptionValue(ARG_AGENCY_ID)); if (name.equals(ARG_MODIFICATIONS) || name.equals(ARG_TRANSFORM)) GtfsTransformerLibrary.configureTransformation(transformer, option.getValue()); if (name.equals(ARG_LOCAL_VS_EXPRESS)) configureLocalVsExpressUpdates(transformer); if (name.equals(ARG_OVERWRITE_DUPLICATES)) { transformer.getReader().setOverwriteDuplicates(true); } } transformer.run(); }
private void configureLocalVsExpressUpdates(GtfsTransformer updater) { updater.addTransform(new LocalVsExpressUpdateStrategy()); }
private void configureEnsureStopTimesInOrder(GtfsTransformer updater) { updater.addTransform(new EnsureStopTimesIncreaseUpdateStrategy()); }
private void configureAgencyId(GtfsTransformer updater, String agencyId) { if (agencyId != null) updater.setAgencyId(agencyId); }
private void configureRemoveDuplicateTrips(GtfsTransformer updater) { updater.addTransform(new RemoveDuplicateTripsStrategy()); }
private void configureRemoveRepeatedStopTimes(GtfsTransformer updater) { updater.addTransform(new RemoveRepeatedStopTimesStrategy()); }