Skip to content

Commit

Permalink
Change to index trip pattern for feed id, for #1990
Browse files Browse the repository at this point in the history
  • Loading branch information
johannilsson committed Jun 22, 2015
1 parent b5569f0 commit 060c540
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 19 deletions.
Expand Up @@ -127,11 +127,8 @@ public void apply(Graph graph) {
} else if (route != null) { } else if (route != null) {
tripPatterns = graph.index.patternsForRoute.get(route); tripPatterns = graph.index.patternsForRoute.get(route);
} else { } else {
// Find patterns for the agency. // Find patterns for the feed.
Multimap<Agency, TripPattern> patternsForAgency = graph.index.agencyPatternsForFeedId.get(feedId); tripPatterns = graph.index.patternsForFeedId.get(feedId);
if (patternsForAgency != null) {
tripPatterns = patternsForAgency.get(agency);
}
} }


if (tripPatterns != null) { if (tripPatterns != null) {
Expand Down Expand Up @@ -191,11 +188,8 @@ public void remove(Graph graph) {
} else if (route != null) { } else if (route != null) {
tripPatterns = graph.index.patternsForRoute.get(route); tripPatterns = graph.index.patternsForRoute.get(route);
} else { } else {
// Find patterns for the agency. // Find patterns for the feed.
Multimap<Agency, TripPattern> patternsForAgency = graph.index.agencyPatternsForFeedId.get(feedId); tripPatterns = graph.index.patternsForFeedId.get(feedId);
if (patternsForAgency != null) {
tripPatterns = patternsForAgency.get(agency);
}
} }


if (tripPatterns != null) { if (tripPatterns != null) {
Expand Down
11 changes: 2 additions & 9 deletions src/main/java/org/opentripplanner/routing/graph/GraphIndex.java
Expand Up @@ -60,7 +60,7 @@ public class GraphIndex {
public final Map<String, TripPattern> patternForId = Maps.newHashMap(); public final Map<String, TripPattern> patternForId = Maps.newHashMap();
public final Map<Stop, TransitStop> stopVertexForStop = Maps.newHashMap(); public final Map<Stop, TransitStop> stopVertexForStop = Maps.newHashMap();
public final Map<Trip, TripPattern> patternForTrip = Maps.newHashMap(); public final Map<Trip, TripPattern> patternForTrip = Maps.newHashMap();
public final Map<String, Multimap<Agency, TripPattern>> agencyPatternsForFeedId = Maps.newHashMap(); public final Multimap<String, TripPattern> patternsForFeedId = ArrayListMultimap.create();
public final Multimap<Route, TripPattern> patternsForRoute = ArrayListMultimap.create(); public final Multimap<Route, TripPattern> patternsForRoute = ArrayListMultimap.create();
public final Multimap<Stop, TripPattern> patternsForStop = ArrayListMultimap.create(); public final Multimap<Stop, TripPattern> patternsForStop = ArrayListMultimap.create();
public final Multimap<String, Stop> stopsForParentStation = ArrayListMultimap.create(); public final Multimap<String, Stop> stopsForParentStation = ArrayListMultimap.create();
Expand Down Expand Up @@ -130,14 +130,7 @@ public GraphIndex (Graph graph) {
// The key stored in patternForId is the pattern code that is constructed as. // The key stored in patternForId is the pattern code that is constructed as.
// Agency:RouteId:DirectionId:PatternNumber, the first part is the feed id. // Agency:RouteId:DirectionId:PatternNumber, the first part is the feed id.
String feedId = pattern.code.substring(0, pattern.code.indexOf(':')); String feedId = pattern.code.substring(0, pattern.code.indexOf(':'));
Multimap<Agency, TripPattern> patternsForAgency; patternsForFeedId.put(feedId, pattern);
if (!agencyPatternsForFeedId.containsKey(feedId)) {
patternsForAgency = ArrayListMultimap.create();
} else {
patternsForAgency = agencyPatternsForFeedId.get(feedId);
}
patternsForAgency.put(pattern.route.getAgency(), pattern);
agencyPatternsForFeedId.put(feedId, patternsForAgency);


patternsForRoute.put(pattern.route, pattern); patternsForRoute.put(pattern.route, pattern);


Expand Down

0 comments on commit 060c540

Please sign in to comment.