aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien/sepm
diff options
context:
space:
mode:
authorViktoria Pundy <viktoria.pundy@aon.at>2018-06-02 20:18:32 +0200
committerTharre <tharre3@gmail.com>2018-06-13 18:35:20 +0200
commit508353d4f9d0d6716cabc70f5e9c6c2712264a9b (patch)
treeff00244cd7468396f980ec0de55350ef41ba3894 /src/main/java/at/ac/tuwien/sepm
parent8e9d7d1cb5ffd184ee63706350fa664aa9007fa6 (diff)
downloadsepm-groupproject-508353d4f9d0d6716cabc70f5e9c6c2712264a9b.tar.gz
sepm-groupproject-508353d4f9d0d6716cabc70f5e9c6c2712264a9b.tar.xz
sepm-groupproject-508353d4f9d0d6716cabc70f5e9c6c2712264a9b.zip
Added fxml and controller for archive window [#27299]
Added fxml-File, which contains a small window for the detail view in the archive window. It contains two vboxes, in which vehicle and staff are stored
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ArchiveOperationController.java33
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/DetailArchiveOperationController.java106
2 files changed, 135 insertions, 4 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ArchiveOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ArchiveOperationController.java
index 86a14f9..a233d21 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ArchiveOperationController.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ArchiveOperationController.java
@@ -5,6 +5,7 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.S
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
@@ -19,8 +20,9 @@ import java.util.stream.Collectors;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
-import javafx.scene.control.Button;
import javafx.scene.control.Label;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.FlowPane;
import org.springframework.stereotype.Controller;
@@ -28,6 +30,7 @@ import org.springframework.stereotype.Controller;
@Controller
public class ArchiveOperationController {
+ @FXML private ImageView imvVehicleDetail;
@FXML private AnchorPane apMainDetails;
@FXML private Label lblOperations;
@FXML private Label lblClosed;
@@ -46,12 +49,15 @@ public class ArchiveOperationController {
@FXML private FlowPane archiveOperationFlowPane;
private final CreateOperationController createOperationController;
private Set<Operation> list = new HashSet<>();
+ private final SpringFXMLLoader fxmlLoader;
public ArchiveOperationController(
OperationService operationService,
- CreateOperationController createOperationController) {
+ CreateOperationController createOperationController,
+ SpringFXMLLoader fxmlLoader) {
this.operationService = operationService;
this.createOperationController = createOperationController;
+ this.fxmlLoader = fxmlLoader;
}
@FXML
@@ -91,6 +97,7 @@ public class ArchiveOperationController {
backApDetails.setVisible(true);
setOperation();
setDetailsVisible(true);
+ imvVehicleDetail.setImage(new Image(("/images/Vehicle.png")));
});
archiveOperationFlowPane.getChildren().add(opInAController.getRoot());
}
@@ -151,13 +158,31 @@ public class ArchiveOperationController {
lblVehicles.setText(result);
lblAddress.setText(detailOperation.destination());
- for (Vehicle vehicle : detailOperation.vehicles()) {
+ fpVehicles.getChildren().clear();
+ try {
+ for (Vehicle vehicle : detailOperation.vehicles()) {
+ DetailArchiveOperationController controller = null;
+
+ controller = DetailArchiveOperationController.create(fxmlLoader);
+
+ controller.set(vehicle);
+ fpVehicles.getChildren().add(controller.getRoot());
+ }
+ } catch (IOException e) {
+ Alert alert = new Alert(Alert.AlertType.ERROR);
+ alert.setTitle("Fehler");
+ alert.setHeaderText("Fehler!");
+ alert.setContentText("Die Element konnte nicht geladen werden!");
+ alert.showAndWait();
+ }
+
+ /*for (Vehicle vehicle : detailOperation.vehicles()) {
Button b = new Button();
b.setPrefHeight(200);
b.setPrefWidth(600 / 2);
b.setText(vehicle.name());
fpVehicles.getChildren().add(b);
- }
+ }*/
}
public void setListVisible(boolean b) {
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/DetailArchiveOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/DetailArchiveOperationController.java
new file mode 100644
index 0000000..3c50c65
--- /dev/null
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/DetailArchiveOperationController.java
@@ -0,0 +1,106 @@
+package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
+
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader;
+import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader.FXMLWrapper;
+import java.io.IOException;
+import java.lang.invoke.MethodHandles;
+import javafx.fxml.FXML;
+import javafx.scene.Node;
+import javafx.scene.control.Alert;
+import javafx.scene.layout.VBox;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+
+@Controller
+public class DetailArchiveOperationController {
+ private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
+ @FXML private VBox vBoxVehicle;
+ @FXML private VBox vBoxPeople;
+ private final SpringFXMLLoader fxmlLoader;
+
+ public DetailArchiveOperationController(SpringFXMLLoader fxmlLoader) {
+ this.fxmlLoader = fxmlLoader;
+ }
+
+ public static DetailArchiveOperationController create(SpringFXMLLoader fxmlLoader)
+ throws IOException {
+ FXMLWrapper<Object, DetailArchiveOperationController> wrapper =
+ fxmlLoader.loadAndWrap(
+ "/fxml/DetailArchiveOperation.fxml",
+ DetailArchiveOperationController.class);
+
+ Node root = (Node) wrapper.getLoadedObject();
+ DetailArchiveOperationController result = wrapper.getController();
+ result.rootElement = root;
+
+ return result;
+ }
+
+ public Node getRoot() {
+ return rootElement;
+ }
+
+ private Node rootElement;
+
+ public void set(Vehicle vehicle) {
+ VehiclePaneController controller = null;
+ try {
+ controller = VehiclePaneController.createVehiclePane();
+ controller.setData(vehicle, false);
+ vBoxVehicle.getChildren().add(controller.getRootElement());
+ } catch (IOException e) {
+ LOG.error("Error while updating list.", e);
+ Alert alert = new Alert(Alert.AlertType.ERROR);
+ alert.setTitle("Fehler");
+ alert.setHeaderText("Fehler!");
+ alert.setContentText(e.getMessage());
+ alert.showAndWait();
+ }
+ try {
+ for (int i = 0; i < vehicle.registrations().size(); i++) {
+ Employee employee = vehicle.registrations().get(i).employee();
+
+ EmployeeListItemController employeeListItemController =
+ EmployeeListItemController.createEmployeeListItemController(
+ fxmlLoader, employee);
+ vBoxPeople.getChildren().add(employeeListItemController.getRootElement());
+ }
+ } catch (IOException e) {
+ LOG.error("Error while updating list.", e);
+ Alert alert = new Alert(Alert.AlertType.ERROR);
+ alert.setTitle("Fehler");
+ alert.setHeaderText("Fehler!");
+ alert.setContentText(e.getMessage());
+ alert.showAndWait();
+ }
+ }
+
+ /* 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<String> elements =
+ operation.vehicles().stream().map(Vehicle::name).collect(Collectors.toList());
+ String result = String.join(", ", elements);
+
+ txtVehicles.setText(result);
+ }*/
+}