private FareRule doMap(org.onebusaway.gtfs.model.FareRule rhs) { FareRule lhs = new FareRule(); lhs.setFare(fareAttributeMapper.map(rhs.getFare())); lhs.setRoute(routeMapper.map(rhs.getRoute())); lhs.setOriginId(rhs.getOriginId()); lhs.setDestinationId(rhs.getDestinationId()); lhs.setContainsId(rhs.getContainsId()); return lhs; } }
@Override public void run(TransformContext context, GtfsMutableRelationalDao dao) { // remove rules for route for (FareRule rule : new HashSet<FareRule>(dao.getAllFareRules())) { if (rule.getRoute() != null && rule.getRoute().getId().getId().equals(routeId)) { if (!isExemplarSet()) { setAttributesFromExemplar(rule.getFare()); } route = rule.getRoute(); dao.removeEntity(rule); } } for (FareAttribute attr : new HashSet<FareAttribute>(dao.getAllFareAttributes())) { if (dao.getFareRulesForFareAttribute(attr).isEmpty()) { dao.removeEntity(attr); } } // add new rules FareCreationListener listener = new FareCreationListener(); listener.setDao(dao); try { URL url = new URL(csvUrl); try (InputStream is = url.openStream()) { new CSVLibrary().parse(is, listener); } } catch (Exception e) { e.printStackTrace(); } listener.flushNewFares(); }
fareRule.addOriginDestination(origin, destination); Route route = rule.getRoute(); if (route != null) { AgencyAndId routeId = route.getId();
@Override protected boolean entitiesAreIdentical(FareRule fareRuleA, FareRule fareRuleB) { if (!fareRuleA.getFare().equals(fareRuleB.getFare())) { return false; } if (!equals(fareRuleA.getRoute(), fareRuleB.getRoute())) { return false; } if (!equals(fareRuleA.getOriginId(), fareRuleB.getOriginId())) { return false; } if (!equals(fareRuleA.getDestinationId(), fareRuleB.getDestinationId())) { return false; } if (!equals(fareRuleA.getContainsId(), fareRuleB.getContainsId())) { return false; } return true; }
@Override protected boolean entitiesAreIdentical(FareRule fareRuleA, FareRule fareRuleB) { if (!fareRuleA.getFare().equals(fareRuleB.getFare())) { return false; } if (!equals(fareRuleA.getRoute(), fareRuleB.getRoute())) { return false; } if (!equals(fareRuleA.getOriginId(), fareRuleB.getOriginId())) { return false; } if (!equals(fareRuleA.getDestinationId(), fareRuleB.getDestinationId())) { return false; } if (!equals(fareRuleA.getContainsId(), fareRuleB.getContainsId())) { return false; } return true; }