package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import java.io.IOException; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.util.Collection; import java.util.Objects; import java.util.stream.Collectors; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Node; import javafx.scene.text.Text; public class OperationInArchiveController { @FXML private Text txtAddress; @FXML private Text txtVehicles; @FXML private Text txtDate; @FXML private Text txtOpCode; static OperationInArchiveController create() throws IOException { FXMLLoader fxmlLoader = new FXMLLoader( OperationInArchiveController.class.getResource( "/fxml/OperationInArchive.fxml")); Node root = fxmlLoader.load(); OperationInArchiveController result = fxmlLoader.getController(); result.rootElement = root; return result; } public Node getRoot() { return rootElement; } private Node rootElement; public void set(Operation operation) { txtAddress.setText(operation.destination()); String date = "am "; if (operation.created() != null) { LocalDateTime myDateTime = LocalDateTime.ofInstant( Objects.requireNonNull(operation.created()), ZoneOffset.UTC); date += myDateTime.getDayOfMonth() + "." + myDateTime.getMonth().getValue() + "." + myDateTime.getYear(); txtDate.setText(date); } else { txtDate.setText("---"); } txtOpCode.setText(operation.opCode()); Collection elements = operation.vehicles().stream().map(Vehicle::name).collect(Collectors.toList()); String result = String.join(", ", elements); txtVehicles.setText(result); } }