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); }); }
public static OrderStatusMessage fromTransportOrder(TransportOrder order, long sequenceNumber, Instant creationTimeStamp) { OrderStatusMessage orderMessage = new OrderStatusMessage(); orderMessage.setSequenceNumber(sequenceNumber); orderMessage.setCreationTimeStamp(creationTimeStamp); orderMessage.setOrderName(order.getName()); orderMessage.setProcessingVehicleName( order.getProcessingVehicle() == null ? null : order.getProcessingVehicle().getName()); orderMessage.setOrderState(OrderState.fromTransportOrderState(order.getState())); for (DriveOrder curDriveOrder : order.getAllDriveOrders()) { orderMessage.getDestinations().add(Destination.fromDriveOrder(curDriveOrder)); } for (Map.Entry<String, String> mapEntry : order.getProperties().entrySet()) { Property prop = new Property(); prop.setKey(mapEntry.getKey()); prop.setValue(mapEntry.getValue()); orderMessage.getProperties().add(prop); } return orderMessage; }
/** * Creates a <Code>TransportOrderState</Code> instance from a <Code>TransportOrder</Code> instance. * * @param transportOrder The transport order whose properties will be used to create a * <Code>TransportOrderState</Code> instance. * @return A new <Code>TransportOrderState</Code> instance filled with data from * the given transport order. */ public static TransportOrderState fromTransportOrder(TransportOrder transportOrder) { if (transportOrder == null) { return null; } TransportOrderState transportOrderState = new TransportOrderState(); transportOrderState.setName(transportOrder.getName()); transportOrderState.setCategory(transportOrder.getCategory()); transportOrderState.setDestinations( transportOrder.getAllDriveOrders() .stream() .map(driveOrder -> Destination.fromDriveOrder(driveOrder)) .collect(Collectors.toList())); transportOrderState.setIntendedVehicle( nameOfNullableReference(transportOrder.getIntendedVehicle())); transportOrderState.setProcessingVehicle( nameOfNullableReference(transportOrder.getProcessingVehicle())); transportOrderState.setState(transportOrder.getState()); return transportOrderState; }
public static OrderStatusMessage fromTransportOrder(TransportOrder order) { OrderStatusMessage orderMessage = new OrderStatusMessage(); orderMessage.setOrderName(order.getName()); orderMessage.setProcessingVehicleName( order.getProcessingVehicle() == null ? null : order.getProcessingVehicle().getName()); orderMessage.setOrderState(OrderState.fromTransportOrderState(order.getState())); for (DriveOrder curDriveOrder : order.getAllDriveOrders()) { Destination dest = new Destination(); dest.setLocationName(curDriveOrder.getDestination().getDestination().getName()); dest.setOperation(curDriveOrder.getDestination().getOperation()); dest.setState(mapDriveOrderState(curDriveOrder.getState())); for (Map.Entry<String, String> mapEntry : curDriveOrder.getDestination().getProperties().entrySet()) { Property prop = new Property(); prop.setKey(mapEntry.getKey()); prop.setValue(mapEntry.getValue()); dest.getProperties().add(prop); } orderMessage.getDestinations().add(dest); } for (Map.Entry<String, String> mapEntry : order.getProperties().entrySet()) { Property prop = new Property(); prop.setKey(mapEntry.getKey()); prop.setValue(mapEntry.getValue()); orderMessage.getProperties().add(prop); } return orderMessage; }