All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentripplanner.apis.gtfs.mapping.SeverityMapper Maven / Gradle / Ivy

The newest version!
package org.opentripplanner.apis.gtfs.mapping;

import org.opentripplanner.apis.gtfs.generated.GraphQLTypes.GraphQLAlertSeverityLevelType;
import org.opentripplanner.routing.alertpatch.AlertSeverity;

/**
 * Class for mapping {@link AlertSeverity} to GraphQL API severity (GTFS RT).
 */
public class SeverityMapper {

  /**
   * Returns GraphQL API counterpart for internal {@link AlertSeverity} enum. Defaults
   * to returning UNKNOWN_SEVERITY.
   */
  public static GraphQLAlertSeverityLevelType getGraphQLSeverity(AlertSeverity severity) {
    if (severity == null) {
      return GraphQLAlertSeverityLevelType.UNKNOWN_SEVERITY;
    }
    return switch (severity) {
      case INFO -> GraphQLAlertSeverityLevelType.INFO;
      case VERY_SLIGHT, SLIGHT, WARNING -> GraphQLAlertSeverityLevelType.WARNING;
      case VERY_SEVERE, SEVERE -> GraphQLAlertSeverityLevelType.SEVERE;
      case UNDEFINED, UNKNOWN_SEVERITY -> GraphQLAlertSeverityLevelType.UNKNOWN_SEVERITY;
    };
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy