Skip to content

Commit

Permalink
refined logic for Pathway (extra)
Browse files Browse the repository at this point in the history
  • Loading branch information
qcdyx committed Jan 22, 2024
1 parent 360712d commit 0657814
Showing 1 changed file with 21 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ public class FeedMetadata {
private final List<Pair<String, String>> FILE_BASED_COMPONENTS =
List.of(
new Pair<>("Pathways", GtfsPathway.FILENAME),
new Pair<>("Pathways (extra)", GtfsPathway.FILENAME),
new Pair<>("Transfers", GtfsTransfer.FILENAME),
new Pair<>("Fares V1", GtfsFareAttribute.FILENAME),
new Pair<>("Fare Products", GtfsFareProduct.FILENAME),
Expand All @@ -55,7 +56,7 @@ public class FeedMetadata {
new Pair<>("Fare Media", GtfsFareMedia.FILENAME),
new Pair<>("Zone-Based Fares", GtfsArea.FILENAME),
new Pair<>("Route-Based Fares", GtfsNetwork.FILENAME),
new Pair<>("Transfer Rules", GtfsFareTransferRule.FILENAME),
new Pair<>("Transfer Fares", GtfsFareTransferRule.FILENAME),
new Pair<>("Time-Based Fares", GtfsTimeframe.FILENAME),
new Pair<>("Levels", GtfsLevel.FILENAME));

Expand Down Expand Up @@ -152,12 +153,13 @@ private void loadSpecFeaturesBasedOnFieldPresence(GtfsFeedContainer feedContaine
loadLocationTypesComponent(feedContainer);
loadTraversalTimeComponent(feedContainer);
loadPathwayDirectionsComponent(feedContainer);
loadPathwayExtraComponent(feedContainer);
loadBlocksComponent(feedContainer);
loadRouteBasedFaresComponent(feedContainer);
loadContinuousStopsComponent(feedContainer);
loadZoneBasedComponent(feedContainer);
loadTimeBaedFaresComponent(feedContainer);
loadTransferRulesComponent(feedContainer);
loadTimeBasedFaresComponent(feedContainer);
loadTransferFaresComponent(feedContainer);
loadLevelsComponent(feedContainer);
}

Expand Down Expand Up @@ -222,6 +224,19 @@ private void loadPathwayDirectionsComponent(GtfsFeedContainer feedContainer) {
GtfsPathway::hasStairCount)));
}

private void loadPathwayExtraComponent(GtfsFeedContainer feedContainer) {
specFeatures.put(
"Pathway (extra)",
hasAtLeastOneRecordForFields(
feedContainer,
GtfsPathway.FILENAME,
List.of(
(Function<GtfsPathway, Boolean>) GtfsPathway::hasMaxSlope,
GtfsPathway::hasMinWidth,
GtfsPathway::hasLength,
GtfsPathway::hasStairCount)));
}

private void loadTraversalTimeComponent(GtfsFeedContainer feedContainer) {
specFeatures.put(
"Traversal Time",
Expand Down Expand Up @@ -324,14 +339,14 @@ private void loadZoneBasedComponent(GtfsFeedContainer feedContainer) {
"Zone-Based Fares", hasAtLeastOneRecordInFile(feedContainer, GtfsArea.FILENAME));
}

private void loadTimeBaedFaresComponent(GtfsFeedContainer feedContainer) {
private void loadTimeBasedFaresComponent(GtfsFeedContainer feedContainer) {
specFeatures.put(
"Time-Based Fares", hasAtLeastOneRecordInFile(feedContainer, GtfsTimeframe.FILENAME));
}

private void loadTransferRulesComponent(GtfsFeedContainer feedContainer) {
private void loadTransferFaresComponent(GtfsFeedContainer feedContainer) {
specFeatures.put(
"Transfer Rules", hasAtLeastOneRecordInFile(feedContainer, GtfsFareTransferRule.FILENAME));
"Transfer Fares", hasAtLeastOneRecordInFile(feedContainer, GtfsFareTransferRule.FILENAME));
}

private void loadLevelsComponent(GtfsFeedContainer feedContainer) {
Expand Down

0 comments on commit 0657814

Please sign in to comment.