/** * 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; }