From 5ce2c8943e7c47be60659662bdf4f73e8b606206 Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Wed, 6 Jun 2018 22:05:38 +0200 Subject: Rename ListEmployeesController to ManageEmployeesController [#25963] because later, a new Controller EmployeeListController will be created, which just lists employees and the current ListEmployeesController actually not only lists employees but also allows them to edit, create => manage --- .../controller/CreateOperationController.java | 4 +- .../controller/ListEmployeesController.java | 133 --------------------- .../controller/ManageEmployeesController.java | 131 ++++++++++++++++++++ .../resources/fxml/CreateOperationController.fxml | 2 +- src/main/resources/fxml/listEmployees.fxml | 42 ------- src/main/resources/fxml/manageEmployees.fxml | 40 +++++++ 6 files changed, 174 insertions(+), 178 deletions(-) delete mode 100644 src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ListEmployeesController.java create mode 100644 src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java delete mode 100644 src/main/resources/fxml/listEmployees.fxml create mode 100644 src/main/resources/fxml/manageEmployees.fxml diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateOperationController.java index d2657b6..57d9611 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateOperationController.java @@ -58,7 +58,7 @@ public class CreateOperationController { @FXML private Label lblChosenVehicles; @FXML private AnchorPane apInvisible; @FXML private OperationDetailsController operationDetailsController; - @FXML private ListEmployeesController listEmployeesController; + @FXML private ManageEmployeesController manageEmployeesController; @FXML private CreateCarController createCarController; @FXML private RegistrationWindowController registrationWindowController; @FXML private ArchiveOperationController archiveOperationController; @@ -367,7 +367,7 @@ public class CreateOperationController { private void openCreateNewEmployeeWindow() { this.setVisible(false); - listEmployeesController.setVisible(true); + manageEmployeesController.setVisible(true); } private void openCreateCarWindow() { diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ListEmployeesController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ListEmployeesController.java deleted file mode 100644 index 02a3e4c..0000000 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ListEmployeesController.java +++ /dev/null @@ -1,133 +0,0 @@ -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.service.EmployeeService; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; -import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader; -import java.io.IOException; -import java.lang.invoke.MethodHandles; -import javafx.fxml.FXML; -import javafx.geometry.Insets; -import javafx.scene.Node; -import javafx.scene.layout.AnchorPane; -import javafx.scene.layout.FlowPane; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; - -@Controller -public class ListEmployeesController { - - private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - @FXML private AnchorPane listEmployeesAP; - - @FXML private AnchorPane containerHeader; - @FXML private FlowPane flowPaneEmployeeList; - - private final EmployeeService employeeService; - private final SpringFXMLLoader fxmlLoader; - - private final CreateOperationController createOperationController; - - public ListEmployeesController( - EmployeeService employeeService, - SpringFXMLLoader fxmlLoader, - CreateOperationController createOperationController) { - this.employeeService = employeeService; - this.fxmlLoader = fxmlLoader; - this.createOperationController = createOperationController; - } - - @FXML - private void initialize() { - openFilter(); - } - - private void openFilter() { - try { - FilterEmployeesController filterEmployeesController = - FilterEmployeesController.createFilterEmployeesController(fxmlLoader); - containerHeader.getChildren().clear(); - containerHeader.getChildren().add(filterEmployeesController.getRootElement()); - filterEmployeesController.setOnFilterTextChangedListener(this::updateEmployeeList); - filterEmployeesController.setOnAddEmployeeClickedListener(this::openAddEmployee); - - updateEmployeeList(); - - } catch (IOException e) { - LOG.error("Could not initialize controller: {}", e); - } - } - - private void openAddEmployee() { - openEmployee(null); - } - - private void openEditEmployee(Employee employee) { - openEmployee(employee); - } - - private void openEmployee(Employee employee) { - try { - CreateNewEmployeeController createNewEmployeeController = - employee == null - ? CreateNewEmployeeController.createCreateNewEmployeeController( - fxmlLoader) - : CreateNewEmployeeController.createCreateNewEmployeeController( - fxmlLoader, employee); - containerHeader.getChildren().clear(); - containerHeader.getChildren().add(createNewEmployeeController.getRootElement()); - createNewEmployeeController.setConsumerCancelClicked(this::openFilter); - createNewEmployeeController.setConsumerCreateClicked(this::openFilter); - } catch (IOException e) { - LOG.error("Could not prepare UI for adding employee: {}", e); - } - } - - private void updateEmployeeList() { - updateEmployeeList(""); - } - - private void updateEmployeeList(String searchString) { - try { - flowPaneEmployeeList.getChildren().clear(); - employeeService - .list() - .stream() - .filter( - employee -> - searchString.trim().isEmpty() - || employee.name() - .toLowerCase() - .contains(searchString.toLowerCase())) - .forEach(this::addEmployeeToFlowPane); - } catch (ServiceException e) { - LOG.error("Could not fetch employee list: {}", e); - } - } - - private void addEmployeeToFlowPane(Employee employee) { - Insets listItemMargins = new Insets(0, 5, 10, 5); - - try { - EmployeeListItemController controller = - EmployeeListItemController.createEmployeeListItemController( - fxmlLoader, employee); - Node rootElement = controller.getRootElement(); - flowPaneEmployeeList.getChildren().add(rootElement); - FlowPane.setMargin(rootElement, listItemMargins); - controller.setConsumerEditEmployeeClicked(this::openEditEmployee); - } catch (IOException e) { - LOG.error("Could not create a new EmployeeListItem: {}", e); - } - } - - public void setVisible(boolean b) { - listEmployeesAP.setVisible(b); - } - - public void backToMain() { - this.setVisible(false); - createOperationController.setVisible(true); - } -} diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java new file mode 100644 index 0000000..a126cc7 --- /dev/null +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java @@ -0,0 +1,131 @@ +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.service.EmployeeService; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader; +import java.io.IOException; +import java.lang.invoke.MethodHandles; +import java.util.stream.Collectors; +import javafx.fxml.FXML; +import javafx.scene.layout.AnchorPane; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; + +@Controller +public class ManageEmployeesController { + + private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + @FXML private AnchorPane listEmployeesAP; + + @FXML private AnchorPane containerHeader; + @FXML private FlowPane flowPaneEmployeeList; + + private final EmployeeService employeeService; + private final SpringFXMLLoader fxmlLoader; + + private final CreateOperationController createOperationController; + + public ManageEmployeesController( + EmployeeService employeeService, + SpringFXMLLoader fxmlLoader, + CreateOperationController createOperationController) { + this.employeeService = employeeService; + this.fxmlLoader = fxmlLoader; + this.createOperationController = createOperationController; + } + + @FXML + private void initialize() { + openFilter(); + } + + private void openFilter() { + try { + FilterEmployeesController filterEmployeesController = + FilterEmployeesController.createFilterEmployeesController(fxmlLoader); + containerHeader.getChildren().clear(); + containerHeader.getChildren().add(filterEmployeesController.getRootElement()); + filterEmployeesController.setOnFilterTextChangedListener(this::updateEmployeeList); + filterEmployeesController.setOnAddEmployeeClickedListener(this::openAddEmployee); + + updateEmployeeList(); + + } catch (IOException e) { + LOG.error("Could not initialize controller: {}", e); + } + } + + private void openAddEmployee() { + openEmployee(null); + } + + private void openEditEmployee(Employee employee) { + openEmployee(employee); + } + + private void openEmployee(Employee employee) { + try { + CreateNewEmployeeController createNewEmployeeController = + employee == null + ? CreateNewEmployeeController.createCreateNewEmployeeController( + fxmlLoader) + : CreateNewEmployeeController.createCreateNewEmployeeController( + fxmlLoader, employee); + containerHeader.getChildren().clear(); + containerHeader.getChildren().add(createNewEmployeeController.getRootElement()); + createNewEmployeeController.setConsumerCancelClicked(this::openFilter); + createNewEmployeeController.setConsumerCreateClicked(this::openFilter); + } catch (IOException e) { + LOG.error("Could not prepare UI for adding employee: {}", e); + } + } + + private void updateEmployeeList() { + updateEmployeeList(""); + } + + private void updateEmployeeList(String searchString) { + try { + flowPaneEmployeeList.getChildren().clear(); + employeeService + .list() + .stream() + .filter( + employee -> + searchString.trim().isEmpty() + || employee.name() + .toLowerCase() + .contains(searchString.toLowerCase())) + .forEach(this::addEmployeeToFlowPane); + } catch (ServiceException e) { + LOG.error("Could not fetch employee list: {}", e); + } + } + + private void addEmployeeToFlowPane(Employee employee) { + Insets listItemMargins = new Insets(0, 5, 10, 5); + + try { + EmployeeListItemController controller = + EmployeeListItemController.createEmployeeListItemController( + fxmlLoader, employee); + Node rootElement = controller.getRootElement(); + flowPaneEmployeeList.getChildren().add(rootElement); + FlowPane.setMargin(rootElement, listItemMargins); + controller.setConsumerEditEmployeeClicked(this::openEditEmployee); + } catch (IOException e) { + LOG.error("Could not create a new EmployeeListItem: {}", e); + } + } + + public void setVisible(boolean b) { + listEmployeesAP.setVisible(b); + } + + public void backToMain() { + this.setVisible(false); + createOperationController.setVisible(true); + } +} diff --git a/src/main/resources/fxml/CreateOperationController.fxml b/src/main/resources/fxml/CreateOperationController.fxml index 79c0a51..d22dc45 100644 --- a/src/main/resources/fxml/CreateOperationController.fxml +++ b/src/main/resources/fxml/CreateOperationController.fxml @@ -84,7 +84,7 @@ style="-fx-background-color: rgba(0,0,0,0.7);" visible="false"/> - + diff --git a/src/main/resources/fxml/listEmployees.fxml b/src/main/resources/fxml/listEmployees.fxml deleted file mode 100644 index 7f9e638..0000000 --- a/src/main/resources/fxml/listEmployees.fxml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/fxml/manageEmployees.fxml b/src/main/resources/fxml/manageEmployees.fxml new file mode 100644 index 0000000..e6efb89 --- /dev/null +++ b/src/main/resources/fxml/manageEmployees.fxml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3-70-g09d2