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

org.opentripplanner.netex.validation.DSJOperatingDayNotFound Maven / Gradle / Ivy

package org.opentripplanner.netex.validation;

import org.opentripplanner.graph_builder.DataImportIssue;
import org.opentripplanner.netex.issues.ObjectNotFound;
import org.rutebanken.netex.model.DatedServiceJourney;
import org.rutebanken.netex.model.OperatingDayRefStructure;

import javax.annotation.Nullable;

class DSJOperatingDayNotFound extends AbstractHMapValidationRule {

  @Override
  public Status validate(String dsjId, DatedServiceJourney dsj) {
    var ref = getOperatingDayRef(dsj);
    var opDay = index.getOperatingDayById().lookup(ref);

    return opDay == null ? Status.DISCARD : Status.OK;
  }

  @Override
  public DataImportIssue logMessage(String dsjId, DatedServiceJourney dsj) {
    String ref = getOperatingDayRef(dsj);

    return new ObjectNotFound(
        "DatedServiceJourney",
        dsj.getId(),
        "OperatingDayRef",
        ref
    );
  }

  @Nullable
  private String getOperatingDayRef(DatedServiceJourney dsj) {
    OperatingDayRefStructure ref = dsj.getOperatingDayRef();
    return ref == null ? null : ref.getRef();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy