if (vehicleNow.getTransportOrder() != null && vehicleOld.getTransportOrder() == null) { writeEvent(StatisticsEvent.VEHICLE_STARTS_PROCESSING, vehicleNow.getName()); if (vehicleNow.getTransportOrder() == null && vehicleOld.getTransportOrder() != null) { writeEvent(StatisticsEvent.VEHICLE_STOPS_PROCESSING, vehicleNow.getName()); if (vehicleNow.hasState(Vehicle.State.CHARGING) && !vehicleOld.hasState(Vehicle.State.CHARGING)) { writeEvent(StatisticsEvent.VEHICLE_STARTS_CHARGING, vehicleNow.getName()); if (!vehicleNow.hasState(Vehicle.State.CHARGING) && vehicleOld.hasState(Vehicle.State.CHARGING)) { writeEvent(StatisticsEvent.VEHICLE_STOPS_CHARGING, vehicleNow.getName()); if (vehicleNow.hasProcState(Vehicle.ProcState.PROCESSING_ORDER) && !vehicleNow.hasState(Vehicle.State.EXECUTING) && (vehicleOld.hasState(Vehicle.State.EXECUTING) || !vehicleOld.hasProcState(Vehicle.ProcState.PROCESSING_ORDER))) { writeEvent(StatisticsEvent.VEHICLE_STARTS_WAITING, vehicleNow.getName()); if (vehicleNow.hasProcState(Vehicle.ProcState.PROCESSING_ORDER) && vehicleNow.hasState(Vehicle.State.EXECUTING) && !vehicleOld.hasState(Vehicle.State.EXECUTING)) { writeEvent(StatisticsEvent.VEHICLE_STOPS_WAITING, vehicleNow.getName());
@Override public boolean test(Vehicle vehicle) { boolean accept = true; if (procState != null && !procState.equals(vehicle.getProcState().name())) { accept = false; } return accept; }
/** * Creates a <Code>VehicleState</Code> instance from a <Code>Vehicle</Code> instance. * * @param vehicle The vehicle whose properties will be used to create a <Code>VehicleState</Code> * instance. * @return A new <Code>VehicleState</Code> instance filled with data from the given vehicle. */ public static VehicleState fromVehicle(Vehicle vehicle) { if (vehicle == null) { return null; } VehicleState vehicleState = new VehicleState(); vehicleState.setName(vehicle.getName()); vehicleState.setProperties(vehicle.getProperties()); vehicleState.setLength(vehicle.getLength()); vehicleState.setEnergyLevelGood(vehicle.getEnergyLevelGood()); vehicleState.setEnergyLevelCritical(vehicle.getEnergyLevelCritical()); vehicleState.setEnergyLevel(vehicle.getEnergyLevel()); vehicleState.setIntegrationLevel(vehicle.getIntegrationLevel()); vehicleState.setProcState(vehicle.getProcState()); vehicleState.setTransportOrder(nameOfNullableReference(vehicle.getTransportOrder())); vehicleState.setCurrentPosition(nameOfNullableReference(vehicle.getCurrentPosition())); vehicleState.setState(vehicle.getState()); return vehicleState; }
public static VehicleStatusMessage fromVehicle(Vehicle vehicle) { VehicleStatusMessage vehicleMessage = new VehicleStatusMessage(); vehicleMessage.setVehicleName(vehicle.getName()); vehicleMessage.setTransportOrderName( vehicle.getTransportOrder() == null ? null : vehicle.getTransportOrder().getName()); vehicleMessage.setPosition( vehicle.getCurrentPosition() == null ? null : vehicle.getCurrentPosition().getName()); vehicleMessage.setState(vehicle.getState()); vehicleMessage.setProcState(vehicle.getProcState()); Triple precisePos = vehicle.getPrecisePosition(); if (precisePos != null) { VehicleStatusMessage.PrecisePosition precisePosElement; precisePosElement = new VehicleStatusMessage.PrecisePosition( precisePos.getX(), precisePos.getY(), precisePos.getZ()); vehicleMessage.setPrecisePosition(precisePosElement); } return vehicleMessage; }
@Override public String label(Vehicle vehicle) { return vehicle.getName(); }
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 static VehicleStatusMessage fromVehicle(Vehicle vehicle, long sequenceNumber, Instant creationTimeStamp) { VehicleStatusMessage vehicleMessage = new VehicleStatusMessage(); vehicleMessage.setSequenceNumber(sequenceNumber); vehicleMessage.setCreationTimeStamp(creationTimeStamp); vehicleMessage.setVehicleName(vehicle.getName()); vehicleMessage.setTransportOrderName( vehicle.getTransportOrder() == null ? null : vehicle.getTransportOrder().getName()); vehicleMessage.setPosition( vehicle.getCurrentPosition() == null ? null : vehicle.getCurrentPosition().getName()); vehicleMessage.setState(vehicle.getState()); vehicleMessage.setProcState(vehicle.getProcState()); Triple precisePos = vehicle.getPrecisePosition(); if (precisePos != null) { VehicleStatusMessage.PrecisePosition precisePosElement; precisePosElement = new VehicleStatusMessage.PrecisePosition( precisePos.getX(), precisePos.getY(), precisePos.getZ()); vehicleMessage.setPrecisePosition(precisePosElement); } return vehicleMessage; }
/** * 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)); }
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) ); }
@Override public void initialize() { if (isInitialized()) { return; } // Get a kernel reference. try { sharedPortal = portalProvider.register(); } catch (ServiceUnavailableException exc) { LOG.warn("Kernel unavailable", exc); return; } objectService = (TCSObjectService) sharedPortal.getPortal().getPlantModelService(); Set<Vehicle> vehicles = new TreeSet<>(Comparators.objectsByName()); vehicles.addAll(objectService.fetchObjects(Vehicle.class)); JComboBox<TCSObjectReference<Vehicle>> vehiclesComboBox = new JComboBox<>(); vehiclesComboBox.addItem(null); vehiclesComboBox.setRenderer(new StringListCellRenderer<>(x -> x == null ? "" : x.getName())); for (Vehicle curVehicle : vehicles) { vehiclesComboBox.addItem(curVehicle.getReference()); } DefaultCellEditor vehicleEditor = new DefaultCellEditor(vehiclesComboBox); toTable.setDefaultEditor(TCSObjectReference.class, vehicleEditor); toTable.setDefaultRenderer( TCSObjectReference.class, new StringTableCellRenderer<TCSObjectReference<?>>(x -> x == null ? "" : x.getName())); updateElementStates(); initialized = true; }
curStruc.getIntendedVehicle()).getReference()); for (TransportOrderXMLStructure.XMLMapEntry curEntry : curStruc.getProperties()) { data.addProperty(curEntry.getKey(), curEntry.getValue());