/**
   * Retorna el Json del trayecto que se acaba de crear
   *
   * @param id_vehiculo
   * @param tipo_vehiculo
   * @return
   */
  @BodyParser.Of(BodyParser.Json.class)
  public Result agregarTrayecto(Long id_vehiculo, int tipo_vehiculo) {
    JsonNode json = Controller.request().body().asJson();
    Vehiculo vehiculoEncontrado =
        tipo_vehiculo == Vehiculo.TRANVIA
            ? (Vehiculo) TranviaVehiculo.finder.byId(id_vehiculo)
            : (Vehiculo) MoviBusVehiculo.finder.byId(id_vehiculo);
    Trayecto trayectoRecibido = Trayecto.bind(json);
    Driver conductorEncontrado =
        (Driver) new Model.Finder(Driver.class).byId(trayectoRecibido.getIdConductor());
    if (vehiculoEncontrado != null && conductorEncontrado != null) {
      if (vehiculoEncontrado.getUltimoTrayecto() == null
          || vehiculoEncontrado.getUltimoTrayecto().getEstado() == Trayecto.FINALIZADO) {
        trayectoRecibido.setIdVehiculo(vehiculoEncontrado.getIdVehiculo());
        trayectoRecibido.setIdConductor(conductorEncontrado.getIdConductor());
        conductorEncontrado.setUltimoTrayecto(trayectoRecibido);
        vehiculoEncontrado.setUltimoTrayecto(trayectoRecibido);
        vehiculoEncontrado.setEstado(Vehiculo.EN_MARCHA);
        trayectoRecibido.save();
        vehiculoEncontrado.save();
        conductorEncontrado.save();
        return ok(Json.toJson(trayectoRecibido));
      } else {
        return badRequest("No se puede iniciar un nuevo trayecto antes de finalizar el anterior");
      }

    } else {
      return notFound();
    }
  }
  public static boolean listDrivers() {
    Driver driver = new Driver();

    ArrayList<Driver> drivers = driver.List();

    System.out.println(drivers);

    return true;
  }