/** * Finds the vehicle with the given name. * * @param name The name of the requested vehicle. * @return A single vehicle that has the given name. * @throws ObjectUnknownException If a vehicle with the given name does not exist. */ public VehicleState getVehicleStateByName(String name) throws ObjectUnknownException { requireNonNull(name, "name"); return orderService.fetchObjects(Vehicle.class, v -> v.getName().equals(name)) .stream() .map(v -> VehicleState.fromVehicle(v)) .findAny() .orElseThrow(() -> new ObjectUnknownException("Unknown vehicle: " + name)); }
response.status(404); response.type(HttpConstants.CONTENT_TYPE_APPLICATION_JSON_UTF8); response.body(toJson(exception.getMessage())); }); service.exception(ObjectExistsException.class, (exception, request, response) -> {
/** * Finds the transport order with the given name. * * @param name The name of the requested transport order. * @return A single transport order with the given name. * @throws ObjectUnknownException If a transport order with the given name does not exist. */ public TransportOrderState getTransportOrderByName(String name) throws ObjectUnknownException { requireNonNull(name, "name"); return orderService.fetchObjects(TransportOrder.class, t -> t.getName().equals(name)) .stream() .map(t -> TransportOrderState.fromTransportOrder(t)) .findAny() .orElseThrow(() -> new ObjectUnknownException("Unknown transport order: " + name)); }
public void putVehicleIntegrationLevel(String name, String value) throws ObjectUnknownException, IllegalArgumentException { requireNonNull(name, "name"); requireNonNull(value, "value"); Vehicle vehicle = orderService.fetchObject(Vehicle.class, name); if (vehicle == null) { throw new ObjectUnknownException("Unknown vehicle: " + name); } Vehicle.IntegrationLevel level = Vehicle.IntegrationLevel.valueOf(value); kernelExecutor.submit( () -> vehicleService.updateVehicleIntegrationLevel(vehicle.getReference(), level) ); }
/** * Find all transport orders and filters depending on the given parameters. * * @param intendedVehicle The filter parameter for the name of the * intended vehicle for the transport order. The filtering is disabled for this parameter if the * value is null. * @return A list of transport orders that match the filter. */ public List<TransportOrderState> getTransportOrdersState(@Nullable String intendedVehicle) { if (intendedVehicle != null) { Vehicle vehicle = orderService.fetchObject(Vehicle.class, intendedVehicle); if (vehicle == null) { throw new ObjectUnknownException("Unknown vehicle: " + intendedVehicle); } } return orderService.fetchObjects(TransportOrder.class, new TransportOrderFilter(intendedVehicle)) .stream() .map(order -> TransportOrderState.fromTransportOrder(order)) .collect(Collectors.toList()); }
public void withdrawByVehicle(String name, boolean immediate, boolean disableVehicle) throws ObjectUnknownException { requireNonNull(name, "name"); Vehicle vehicle = orderService.fetchObject(Vehicle.class, name); if (vehicle == null) { throw new ObjectUnknownException("Unknown vehicle: " + name); } kernelExecutor.submit(() -> { if (disableVehicle) { vehicleService.updateVehicleIntegrationLevel(vehicle.getReference(), Vehicle.IntegrationLevel.TO_BE_RESPECTED); } dispatcherService.withdrawByVehicle(vehicle.getReference(), immediate); }); }
public void withdrawByTransportOrder(String name, boolean immediate, boolean disableVehicle) throws ObjectUnknownException { requireNonNull(name, "name"); if (orderService.fetchObject(TransportOrder.class, name) == null) { throw new ObjectUnknownException("Unknown transport order: " + name); } kernelExecutor.submit(() -> { TransportOrder order = orderService.fetchObject(TransportOrder.class, name); if (disableVehicle && order.getProcessingVehicle() != null) { vehicleService.updateVehicleIntegrationLevel(order.getProcessingVehicle(), Vehicle.IntegrationLevel.TO_BE_RESPECTED); } dispatcherService.withdrawByTransportOrder(order.getReference(), immediate); }); }