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

org.opentripplanner.updater.trip.UpdateResult Maven / Gradle / Ivy

package org.opentripplanner.updater.trip;

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.Multimaps;
import java.util.List;
import org.opentripplanner.model.UpdateError;
import org.opentripplanner.transit.model.framework.Result;

public record UpdateResult(
  int successful,
  int failed,
  Multimap failures
) {
  public static UpdateResult empty() {
    return new UpdateResult(0, 0, ArrayListMultimap.create());
  }

  public static UpdateResult ofResults(List> results) {
    var errors = results.stream().filter(Result::isFailure).map(Result::failureValue).toList();
    var successfullyApplied = results.stream().filter(Result::isSuccess).count();
    var errorIndex = Multimaps.index(errors, UpdateError::errorType);
    return new UpdateResult((int) successfullyApplied, errors.size(), errorIndex);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy