org.opentripplanner.ext.legacygraphqlapi.datafetchers.LegacyGraphQLFeedImpl Maven / Gradle / Ivy
package org.opentripplanner.ext.legacygraphqlapi.datafetchers;
import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
import org.opentripplanner.ext.legacygraphqlapi.LegacyGraphQLRequestContext;
import org.opentripplanner.ext.legacygraphqlapi.generated.LegacyGraphQLDataFetchers;
import org.opentripplanner.model.Agency;
import org.opentripplanner.model.FeedInfo;
import org.opentripplanner.routing.RoutingService;
import java.util.stream.Collectors;
public class LegacyGraphQLFeedImpl implements LegacyGraphQLDataFetchers.LegacyGraphQLFeed {
@Override
public DataFetcher feedId() {
return environment -> getSource(environment).getId();
}
@Override
public DataFetcher> agencies() {
return environment -> {
String id = getSource(environment).getId();
return getRoutingService(environment)
.getAgencies()
.stream()
.filter(agency -> agency.getId().getFeedId().equals(id))
.collect(Collectors.toList());
};
}
private RoutingService getRoutingService(DataFetchingEnvironment environment) {
return environment.getContext().getRoutingService();
}
private FeedInfo getSource(DataFetchingEnvironment environment) {
return environment.getSource();
}
}