From 17556e5701442e9c2a7e219c5d93734812344ebe Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Mon, 18 Jun 2018 20:13:05 +0200 Subject: Rename 'einsatzverwaltung' to 'missioncontrol' + remove TODO [#25963] --- .../CreateNewEmployeeControllerTest.java | 87 +++++++ .../controller/CreateNewVehicleControllerTest.java | 81 +++++++ .../controller/GuiTestApplication.java | 101 ++++++++ .../controller/RegistrationControllerTest.java | 22 ++ .../missioncontrol/dao/EmployeeDAOTest.java | 253 +++++++++++++++++++++ .../missioncontrol/dao/OperationDAOTest.java | 197 ++++++++++++++++ .../missioncontrol/dao/RegistrationDAOTest.java | 115 ++++++++++ .../missioncontrol/dao/VehicleDAOTest.java | 161 +++++++++++++ .../service/EmployeeServiceTest.java | 67 ++++++ .../service/OperationServiceIntegrationTest.java | 97 ++++++++ .../service/OperationServiceTest.java | 205 +++++++++++++++++ .../RegistrationServiceIntegrationTest.java | 55 +++++ .../service/RegistrationServiceTest.java | 159 +++++++++++++ 13 files changed, 1600 insertions(+) create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/GuiTestApplication.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationControllerTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java new file mode 100644 index 0000000..2b0f793 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java @@ -0,0 +1,87 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller; + +import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_SERVICE_EXCEPTION; +import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_SUCCESS; +import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_VALIDATION_ERROR; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeService; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; +import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; +import javafx.scene.control.DialogPane; +import javafx.scene.input.MouseButton; +import javafx.stage.Stage; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.testfx.api.FxToolkit; +import org.testfx.robot.Motion; + +public class CreateNewEmployeeControllerTest extends HighDpiAwareApplicationTest { + + private EmployeeService employeeService; + + @Before + public void setup() throws Exception { + FxToolkit.registerPrimaryStage(); + FxToolkit.setupApplication(GuiTestApplication.class, "createNewEmployee.fxml"); + employeeService = GuiTestApplication.context.getBean(EmployeeService.class); + } + + @After + public void cleanup() throws Exception { + FxToolkit.cleanupStages(); + } + + @Test + public void testClickAddValidEmployee() throws InvalidEmployeeException, ServiceException { + + when(employeeService.add(any())).thenReturn(1L); + + clickOn("#inputName", Motion.DIRECT, MouseButton.PRIMARY); + write("Name"); + clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals(ALERT_TITLE_SUCCESS, dialogPane.getHeaderText()); + } + + @Test + public void testClickAddInvalidEmployee() throws InvalidEmployeeException, ServiceException { + + when(employeeService.add(any())).thenThrow(InvalidEmployeeException.class); + + moveTo("#inputName"); + clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals(ALERT_TITLE_VALIDATION_ERROR, dialogPane.getHeaderText()); + } + + @Test + public void testClickAddEmployeeWithServiceException() + throws InvalidEmployeeException, ServiceException { + + when(employeeService.add(any())).thenThrow(ServiceException.class); + + clickOn("#inputName", Motion.DIRECT, MouseButton.PRIMARY); + write("Test"); + clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals(ALERT_TITLE_SERVICE_EXCEPTION, dialogPane.getHeaderText()); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java new file mode 100644 index 0000000..282c50f --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java @@ -0,0 +1,81 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller; + +import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_SERVICE_EXCEPTION; +import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_SUCCESS; +import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_VALIDATION_ERROR; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; +import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; +import javafx.scene.control.DialogPane; +import javafx.scene.input.MouseButton; +import javafx.stage.Stage; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.testfx.api.FxToolkit; +import org.testfx.robot.Motion; + +public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest { + + private VehicleService vehicleService; + + @Before + public void setup() throws Exception { + FxToolkit.registerPrimaryStage(); + FxToolkit.setupApplication(GuiTestApplication.class, "createCar.fxml"); + vehicleService = GuiTestApplication.context.getBean(VehicleService.class); + } + + @After + public void cleanup() throws Exception { + FxToolkit.cleanupStages(); + } + + @Test + public void testClickAddValidVehicle() throws ServiceException, InvalidVehicleException { + + when(vehicleService.add(any())).thenReturn(1L); + + clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals(ALERT_TITLE_SUCCESS, dialogPane.getHeaderText()); + } + + @Test + public void testClickInvalidVehicleEx() throws ServiceException, InvalidVehicleException { + + when(vehicleService.add(any())).thenThrow(InvalidVehicleException.class); + + clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals(ALERT_TITLE_VALIDATION_ERROR, dialogPane.getHeaderText()); + } + + @Test + public void testClickInvalidServiceEx() throws ServiceException, InvalidVehicleException { + + when(vehicleService.add(any())).thenThrow(ServiceException.class); + + clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals(ALERT_TITLE_SERVICE_EXCEPTION, dialogPane.getHeaderText()); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/GuiTestApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/GuiTestApplication.java new file mode 100644 index 0000000..968141e --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/GuiTestApplication.java @@ -0,0 +1,101 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller; + +import static org.mockito.Mockito.mock; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeService; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeServiceImpl; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.OperationService; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.OperationServiceImpl; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.RegistrationService; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.RegistrationServiceImpl; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleServiceImpl; +import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader; +import java.lang.invoke.MethodHandles; +import javafx.application.Application; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.stage.Stage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Component; + +@Component +@ComponentScan("at.ac.tuwien.sepm.assignment.groupphase") +public class GuiTestApplication extends Application { + + private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + + public static AnnotationConfigApplicationContext context; + + @Configuration + public static class ContextConfiguration { + + @Bean + @Primary + public EmployeeService employeeService() { + return mock(EmployeeServiceImpl.class); + } + + @Bean + @Primary + public VehicleService vehicleService() { + return mock(VehicleServiceImpl.class); + } + + @Bean + @Primary + public OperationService operationService() { + return mock(OperationServiceImpl.class); + } + + @Bean + @Primary + public RegistrationService registrationService() { + return mock(RegistrationServiceImpl.class); + } + } + + @Override + public void start(Stage primaryStage) throws Exception { + // setup application + primaryStage.setTitle("Test window"); + primaryStage.setWidth(1366); + primaryStage.setHeight(768); + primaryStage.centerOnScreen(); + primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated")); + + if (getParameters().getRaw().size() < 1) { + throw new UnsupportedOperationException("FXML file not set"); + } + + context = new AnnotationConfigApplicationContext(GuiTestApplication.class); + final var fxmlLoader = context.getBean(SpringFXMLLoader.class); + primaryStage.setScene( + new Scene( + (Parent) + fxmlLoader.load( + getClass() + .getResourceAsStream( + "/fxml/" + + getParameters() + .getRaw() + .get(0))))); + + // show application + primaryStage.show(); + primaryStage.toFront(); + LOG.debug("Application startup complete"); + } + + @Override + public void stop() { + LOG.debug("Stopping application"); + context.close(); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationControllerTest.java new file mode 100644 index 0000000..97fb0e7 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationControllerTest.java @@ -0,0 +1,22 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller; + +import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; +import org.junit.After; +import org.junit.Before; +import org.testfx.api.FxToolkit; + +public class RegistrationControllerTest extends HighDpiAwareApplicationTest { + + @Before + public void setup() throws Exception { + FxToolkit.registerPrimaryStage(); + FxToolkit.setupApplication(GuiTestApplication.class, "RegistrationWindow.fxml"); + } + + @After + public void cleanup() throws Exception { + FxToolkit.cleanupStages(); + } + + // TODO: implement GUI Tests +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java new file mode 100644 index 0000000..8485f67 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java @@ -0,0 +1,253 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; +import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; +import java.io.InputStream; +import java.time.LocalDate; +import java.util.Set; +import org.dbunit.Assertion; +import org.dbunit.dataset.DataSetException; +import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.ITable; +import org.dbunit.dataset.filter.DefaultColumnFilter; +import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; +import org.dbunit.util.fileloader.FlatXmlDataFileLoader; +import org.junit.Assert; +import org.junit.Test; + +public class EmployeeDAOTest extends JdbcTestCase { + + private EmployeeDAO employeePersistence; + + public EmployeeDAOTest() { + employeePersistence = new EmployeeDatabaseDAO(getJdbcConnectionManager()); + } + + @Override + protected IDataSet getDataSet() throws DataSetException { + InputStream res = + getClass() + .getClassLoader() + .getResourceAsStream("EmployeePersistenceTestBaseData.xml"); + return new FlatXmlDataSetBuilder().build(res); + } + + @Test + public void testListEmployees() throws PersistenceException { + Set employees = employeePersistence.list(); + + Employee empOne = + Employee.builder() + .id(1) + .name("Adam") + .birthday(LocalDate.parse("2010-10-10")) + .educationLevel(EducationLevel.RS) + .isDriver(true) + .isPilot(false) + .build(); + + Employee empTwo = + Employee.builder() + .id(2) + .name("Max") + .birthday(LocalDate.parse("1990-11-11")) + .educationLevel(EducationLevel.NFS) + .isDriver(false) + .isPilot(false) + .build(); + + Employee empThree = + Employee.builder() + .id(3) + .name("Lisa") + .birthday(LocalDate.parse("1999-10-16")) + .educationLevel(EducationLevel.NKI) + .isDriver(true) + .isPilot(false) + .build(); + + Assert.assertTrue(employees.contains(empOne)); + Assert.assertTrue(employees.contains(empTwo)); + Assert.assertTrue(employees.contains(empThree)); + Assert.assertEquals(3, employees.size()); + } + + @Test + public void testEmployeeListNoElement() throws PersistenceException { + Set employees = employeePersistence.list(); + + Employee empOne = + Employee.builder() + .id(10) + .name("Adam") + .birthday(LocalDate.parse("2010-10-10")) + .educationLevel(EducationLevel.RS) + .isDriver(true) + .isPilot(false) + .build(); + + Assert.assertFalse(employees.contains(empOne)); + } + + Employee validEmployee = + Employee.builder() + .name("Testperson") + .birthday(LocalDate.parse("2010-11-11")) + .educationLevel(EducationLevel.NA) + .isDriver(true) + .isPilot(false) + .build(); + + @Test + public void testAddValidEmployee_EmployeeVersion() throws Exception { + + employeePersistence.add(validEmployee); + + String[] excludedColumnsEmployeeVersion = new String[] {"ID"}; + String tableEmployeeVersion = "EMPLOYEEVERSION"; + + // load actual and expected data set + IDataSet actualDataSet = getConnection().createDataSet(); + IDataSet expectedDataSet = + new FlatXmlDataFileLoader().load("/testAddValidEmployee_expected.xml"); + + // extract employeeVersion table + ITable actualEmployeeVersionTable = actualDataSet.getTable(tableEmployeeVersion); + ITable expectedEmployeeVersionTable = expectedDataSet.getTable(tableEmployeeVersion); + + // exclude 'id' column as it is an autogenerated value + ITable actualFilteredTable = + DefaultColumnFilter.excludedColumnsTable( + actualEmployeeVersionTable, excludedColumnsEmployeeVersion); + ITable expectedFilteredTable = + DefaultColumnFilter.excludedColumnsTable( + expectedEmployeeVersionTable, excludedColumnsEmployeeVersion); + + Assertion.assertEquals(expectedFilteredTable, actualFilteredTable); + } + + @Test + public void testAddValidEmployee_Employee() throws Exception { + + employeePersistence.add(validEmployee); + + String[] excludedColumnsEmployee = new String[] {"VERSION", "ID"}; + String tableEmployee = "EMPLOYEE"; + + // load actual and expected data set + IDataSet actualDataSet = getConnection().createDataSet(); + IDataSet expectedDataSet = + new FlatXmlDataFileLoader().load("/testAddValidEmployee_expected.xml"); + + // extract employee table + ITable actualEmployeeTable = actualDataSet.getTable(tableEmployee); + ITable expectedEmployeeTable = expectedDataSet.getTable(tableEmployee); + + // exclude 'version' as it is an autogenerated value + ITable actualFilteredEmpTable = + DefaultColumnFilter.excludedColumnsTable( + actualEmployeeTable, excludedColumnsEmployee); + ITable expectedFilteredEmpTable = + DefaultColumnFilter.excludedColumnsTable( + expectedEmployeeTable, excludedColumnsEmployee); + + Assertion.assertEquals(expectedFilteredEmpTable, actualFilteredEmpTable); + } + + @Test + public void testAddValidEmployee_Join() throws Exception { + + employeePersistence.add(validEmployee); + + String[] excludedColumns = new String[] {"E_VERSION", "V_ID", "E_ID"}; + String table = "EMP_JOIN"; + String expectedXmlDataFileName = "testAddValidEmployeeJoin_expected.xml"; + + String sqlJoinEmployeeVersion = + "SELECT e.id AS E_ID, v.name AS V_NAME, v.birthday AS V_BIRTHDAY, " + + "v.educationLevel as V_EDUCATIONLEVEL, " + + "v.isDriver AS V_ISDRIVER, v.isPilot AS V_ISPILOT " + + "FROM Employee e " + + "JOIN EmployeeVersion v ON e.version = v.id"; + + ITable actualFilteredJoinData = + Helper.getActualFilteredQueryTableData( + getConnection(), table, sqlJoinEmployeeVersion, excludedColumns); + + ITable expectedFilteredJoinData = + Helper.getExpectedFilteredTableData( + table, excludedColumns, expectedXmlDataFileName); + + Assertion.assertEquals(expectedFilteredJoinData, actualFilteredJoinData); + } + + Employee validUpdateEmployee = + Employee.builder() + .id(3) + .name("Lisa") + .birthday(LocalDate.parse("1999-10-16")) + .educationLevel(EducationLevel.NKA) + .isDriver(true) + .isPilot(true) + .build(); + + @Test + public void testUpdateValidEmployee_EmployeeVersion() throws Exception { + + employeePersistence.update(validUpdateEmployee); + + String[] excludedColumnsEmployeeVersion = new String[] {"ID"}; + String tableEmployeeVersion = "EMPLOYEEVERSION"; + + ITable actualTableData = + Helper.getActualFilteredTableData( + getConnection(), tableEmployeeVersion, excludedColumnsEmployeeVersion); + ITable expedtedTableData = + Helper.getExpectedFilteredTableData( + tableEmployeeVersion, + excludedColumnsEmployeeVersion, + "testUpdateValidEmployee_expected.xml"); + + Assertion.assertEquals(expedtedTableData, actualTableData); + } + + @Test + public void testUpdateValidEmployee_Employee() throws Exception { + + employeePersistence.update(validUpdateEmployee); + + String[] excludedColumns = new String[] {"VERSION"}; + String tableName = "EMPLOYEE"; + String expectedXmlDataFileName = "testUpdateValidEmployee_expected.xml"; + + ITable actualTableData = + Helper.getActualFilteredTableData(getConnection(), tableName, excludedColumns); + + ITable expectedTableData = + Helper.getExpectedFilteredTableData( + tableName, excludedColumns, expectedXmlDataFileName); + + Assertion.assertEquals(expectedTableData, actualTableData); + } + + @Test(expected = ElementNotFoundException.class) + public void testUpdateNonExistingEmployee() + throws PersistenceException, ElementNotFoundException { + + Employee nonExistentEmployee = + Employee.builder() + .id(1000) + .name("Lisa") + .birthday(LocalDate.parse("1999-10-16")) + .educationLevel(EducationLevel.NKA) + .isDriver(true) + .isPilot(true) + .build(); + + employeePersistence.update(nonExistentEmployee); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java new file mode 100644 index 0000000..a4a0829 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java @@ -0,0 +1,197 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; + +import static org.junit.Assert.assertEquals; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Severity; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; +import java.time.Instant; +import java.util.Arrays; +import java.util.Collections; +import java.util.EnumSet; +import java.util.LinkedList; +import java.util.Set; +import java.util.TimeZone; +import org.dbunit.dataset.DataSetException; +import org.dbunit.dataset.IDataSet; +import org.junit.BeforeClass; +import org.junit.Test; + +public class OperationDAOTest extends JdbcTestCase { + + private static final String[] COMPARE_TABLES = + new String[] {"VehicleOperation", "Operation", "Vehicle", "VehicleVersion"}; + + private final OperationDAO operationDAO; + + private final Operation o; + + private final Operation originalOperation; + + public OperationDAOTest() throws PersistenceException { + // TODO: fix once everything properly uses dependency injection + EmployeeDAO employeeDAO = new EmployeeDatabaseDAO(getJdbcConnectionManager()); + RegistrationDatabaseDAO registrationDatabaseDAO = + new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO); + VehicleDAO vehicleDAO = + new VehicleDatabaseDAO(getJdbcConnectionManager(), registrationDatabaseDAO); + this.operationDAO = new OperationDatabaseDAO(getJdbcConnectionManager(), vehicleDAO); + + Vehicle v1 = + Vehicle.builder() + .id(1) + .name("RTW-1") + .constructionType(Vehicle.ConstructionType.HOCHDACH) + .type(Vehicle.VehicleType.RTW) + .status(Vehicle.Status.FREI_FUNK) + .hasNef(true) + .build(); + + Vehicle v2 = v1.toBuilder().id(2).build(); + Vehicle v3 = v1.toBuilder().id(3).build(); + + o = + Operation.builder() + .id(1) + .opCode("RD-2B0M") + .severity(Severity.B) + .status(Status.ACTIVE) + .vehicles(Set.of(v1, v2, v3)) + .created(Instant.ofEpochSecond(1514764800)) // 2018-01-01 00:00:00.0 + .destination("New destination") + .additionalInfo("New information") + .build(); + + Vehicle vehicle = + Vehicle.builder() + .id(4) + .name("BKTW-2") + .constructionType(ConstructionType.HOCHDACH) + .type(VehicleType.BKTW) + .hasNef(false) + .status(Vehicle.Status.ZUM_BERUFUNGSORT) + .registrations(new LinkedList<>()) + .build(); + + originalOperation = + Operation.builder() + .id(1) + .opCode("ALP-95E7") + .severity(Severity.E) + .created(Instant.parse("2000-01-01T00:00:00.0Z")) + .destination("Wiedner Hauptstraße 35, Wien") + .additionalInfo("Additional information") + .status(Status.ACTIVE) + .vehicles(Set.of(vehicle)) + .build(); + } + + @BeforeClass + public static void before() { + TimeZone.setDefault(TimeZone.getTimeZone("UTC")); + } + + @Override + protected IDataSet getDataSet() throws DataSetException { + return getDataSet("operationDAOUpdateSetup.xml"); + } + + @Test + public void testUpdateNormal() throws Exception { + operationDAO.update(o); + + compareWith("operationDAOUpdateNormal.xml", COMPARE_TABLES); + } + + @Test(expected = ElementNotFoundException.class) + public void testUpdateMissing() throws Exception { + Operation op = o.toBuilder().id(73).build(); + + operationDAO.update(op); + } + + @Test + public void testUpdateRemoveVehicles() throws Exception { + Operation op = o.toBuilder().vehicles(Collections.emptySet()).build(); + + operationDAO.update(op); + + compareWith("operationDAOUpdateRemoveVehicles.xml", COMPARE_TABLES); + } + + @Test + public void testListOperations() throws Exception { + Set operationSet = operationDAO.list(EnumSet.allOf(Status.class)); + + assertEquals(Set.of(originalOperation), operationSet); + } + + @Test + public void testGetOperations() throws Exception { + Operation gotOperation = operationDAO.get(originalOperation.id()); + + assertEquals(originalOperation, gotOperation); + } + + @Test + public void testAddOperation() throws Exception { + long id = operationDAO.add(o); + assertEquals(2, id); + compareWith("operationDAOAddOperation.xml", COMPARE_TABLES); + } + + @Test(expected = PersistenceException.class) + public void testAddFaultyOperation() throws PersistenceException { + Vehicle vehicle = + Vehicle.builder() + .status(Vehicle.Status.FREI_FUNK) + .constructionType(ConstructionType.HOCHDACH) + .name("BKTW_123") + .hasNef(true) + .type(VehicleType.BKTW) + .build(); + + Operation operation = + Operation.builder() + .status(Status.ACTIVE) + .opCode(String.valueOf(Arrays.stream(new int[200]).map(i -> 'a'))) + .created(Instant.now()) + .destination("Wiedner Hauptstraße 35, Wien") + .additionalInfo("HTU Wien") + .severity(Severity.B) + .vehicles(Set.of(vehicle)) + .build(); + operationDAO.add(operation); + } + + @Test(expected = PersistenceException.class) + public void testAddFaultyOperation2() throws PersistenceException { + Vehicle vehicle = + Vehicle.builder() + .status(Vehicle.Status.FREI_FUNK) + .constructionType(ConstructionType.HOCHDACH) + .name("BKTW_123") + .hasNef(true) + .type(VehicleType.BKTW) + .build(); + + Operation operation = + Operation.builder() + .status(Status.ACTIVE) + .opCode("ALP-95E7") + .created(Instant.now()) + .destination( + "Wiednerstraße 888, 1010 Wien Wiednerstraße 888, 1010 Wien Wiednerstraße 888, 1010 Wien Wiednerstraße 888, 1010 Wien Wiednerstraße 888, 1010 Wien ") + .additionalInfo("HTU Wien") + .severity(Severity.B) + .vehicles(Set.of(vehicle)) + .build(); + operationDAO.add(operation); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java new file mode 100644 index 0000000..6f7ee49 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java @@ -0,0 +1,115 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; + +import static org.junit.Assert.*; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; +import java.time.Instant; +import java.time.LocalDate; +import java.util.HashSet; +import java.util.Set; +import org.dbunit.dataset.IDataSet; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +public class RegistrationDAOTest extends JdbcTestCase { + + private RegistrationDAO registrationDAO; + + public RegistrationDAOTest() throws PersistenceException { + this.registrationDAO = + new RegistrationDatabaseDAO( + getJdbcConnectionManager(), + new EmployeeDatabaseDAO(getJdbcConnectionManager())); + } + + @Override + protected IDataSet getDataSet() throws Exception { + return getDataSet("registrationTestBaseData.xml"); + } + + @Rule public ExpectedException thrown = ExpectedException.none(); + + @Test + public void addRegistrationsShouldSucceed() throws PersistenceException { + Set registrations = new HashSet<>(); + Employee employee1 = + Employee.builder() + .id(1) + .name("John Doe") + .birthday(LocalDate.now()) // incorrect, but should be irrelevant + .educationLevel(EducationLevel.RS) + .isDriver(true) + .isPilot(true) + .build(); + Employee employee2 = + Employee.builder() + .id(2) + .name("Nick \"Kage\" Verily") + .birthday(LocalDate.now()) // incorrect, but should be irrelevant + .educationLevel(EducationLevel.NKV) + .isDriver(true) + .isPilot(false) + .build(); + Employee employee3 = + Employee.builder() + .id(3) + .name("Nicht Arzt") + .birthday(LocalDate.now()) // incorrect, but should be irrelevant + .educationLevel(EducationLevel.NA) + .isDriver(false) + .isPilot(false) + .build(); + Registration registration1 = + Registration.builder() + .start(Instant.now()) // incorrect, but should be irrelevant to outcome + .end(Instant.now()) // same + .employee(employee1) + .build(); + Registration registration2 = + Registration.builder() + .start(Instant.now()) // incorrect, but should be irrelevant to outcome + .end(Instant.now()) // same + .employee(employee2) + .build(); + Registration registration3 = + Registration.builder() + .start(Instant.now()) // incorrect, but should be irrelevant to outcome + .end(Instant.now()) // same + .employee(employee3) + .build(); + registrations.add(registration1); + registrations.add(registration2); + registrations.add(registration3); + + Set returnvalues = registrationDAO.add(1, registrations); + assertFalse(returnvalues.isEmpty()); // can be improved... + } + + @Test + public void addRegistrationToInexistentVehicleShouldFail() throws PersistenceException { + thrown.expect(PersistenceException.class); + Set registrations = new HashSet<>(); + Employee employee = + Employee.builder() + .id(1) + .name("John Doe") + .birthday(LocalDate.now()) // incorrect, but should be irrelevant + .educationLevel(EducationLevel.RS) + .isDriver(true) + .isPilot(true) + .build(); + Registration registration = + Registration.builder() + .start(Instant.now()) + .end(Instant.now()) + .employee(employee) + .build(); + registrations.add(registration); + registrationDAO.add(200, registrations); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java new file mode 100644 index 0000000..294ce10 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java @@ -0,0 +1,161 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; +import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Set; +import org.dbunit.Assertion; +import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.ITable; +import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; +import org.junit.Assert; +import org.junit.Test; + +public class VehicleDAOTest extends JdbcTestCase { + + private VehicleDAO vehicleDAO; + + private Vehicle validUpdateVehicle = + Vehicle.builder() + .hasNef(true) + .constructionType(ConstructionType.HOCHDACH) + .type(VehicleType.RTW) + .id(2) + .name("RTW-2") + .status(Status.ABGEMELDET) + .build(); + + public VehicleDAOTest() throws PersistenceException { + vehicleDAO = + new VehicleDatabaseDAO( + getJdbcConnectionManager(), + new RegistrationDatabaseDAO( + getJdbcConnectionManager(), + new EmployeeDatabaseDAO(getJdbcConnectionManager()))); + // TODO: use Spring Dependency Injection! + } + + @Override + protected IDataSet getDataSet() throws Exception { + InputStream res = getClass().getClassLoader().getResourceAsStream("vehicleTestData.xml"); + return new FlatXmlDataSetBuilder().build(res); + } + + @Test + public void testListVehicle() throws PersistenceException { + Set vehicles = vehicleDAO.list(); + + Vehicle v1 = + Vehicle.builder() + .id(1) + .constructionType(ConstructionType.HOCHDACH) + .name("RTW-1") + .hasNef(true) + .status(Status.ABGEMELDET) + .type(VehicleType.RTW) + .registrations(new ArrayList<>()) + .build(); + Vehicle v2 = + Vehicle.builder() + .id(2) + .constructionType(ConstructionType.MITTELHOCHDACH) + .name("KTW-2") + .hasNef(false) + .status(Status.FREI_WACHE) + .type(VehicleType.KTW) + .registrations(new ArrayList<>()) + .build(); + Vehicle v3 = + Vehicle.builder() + .id(3) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .registrations(new ArrayList<>()) + .build(); + + Assert.assertTrue(vehicles.contains(v1)); + Assert.assertTrue(vehicles.contains(v2)); + Assert.assertTrue(vehicles.contains(v3)); + Assert.assertEquals(3, vehicles.size()); + } + + @Test + public void testVehicleListNoElement() throws PersistenceException { + Set vehicles = vehicleDAO.list(); + + Vehicle v1 = + Vehicle.builder() + .id(30) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .build(); + + Assert.assertFalse(vehicles.contains(v1)); + } + + @Test + public void testUpdateValid_VehicleVersion() throws Exception { + vehicleDAO.update(validUpdateVehicle); + + String[] excludedColumnsVehicleVersion = new String[] {"ID", "NAME"}; + String tableVehicleVersion = "VEHICLEVERSION"; + + ITable actualTableData = + Helper.getActualFilteredTableData( + getConnection(), tableVehicleVersion, excludedColumnsVehicleVersion); + + ITable expectedTableData = + Helper.getExpectedFilteredTableData( + tableVehicleVersion, + excludedColumnsVehicleVersion, + "vehicleTestUpdateExpectedData.xml"); + Assertion.assertEquals(expectedTableData, actualTableData); + } + + @Test + public void testUpdateValid_Vehicle() throws Exception { + vehicleDAO.update(validUpdateVehicle); + + String[] excludedColumnsVehicleVersion = new String[] {"VERSION", "STATUS"}; + String tableVehicleVersion = "VEHICLE"; + + ITable actualTableData = + Helper.getActualFilteredTableData( + getConnection(), tableVehicleVersion, excludedColumnsVehicleVersion); + + ITable expectedTableData = + Helper.getExpectedFilteredTableData( + tableVehicleVersion, + excludedColumnsVehicleVersion, + "vehicleTestUpdateExpectedData.xml"); + Assertion.assertEquals(expectedTableData, actualTableData); + } + + @Test(expected = ElementNotFoundException.class) + public void testUpdateNonExistingVehicle() + throws PersistenceException, ElementNotFoundException { + Vehicle nonExistentVehicle = + Vehicle.builder() + .id(35) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .build(); + vehicleDAO.update(nonExistentVehicle); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java new file mode 100644 index 0000000..7a16d3e --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java @@ -0,0 +1,67 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; + +import static org.hamcrest.CoreMatchers.is; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import java.time.LocalDate; +import org.junit.Assert; +import org.junit.Test; + +public class EmployeeServiceTest { + + private final EmployeeDAO employeePersistence = mock(EmployeeDatabaseDAO.class); + private final EmployeeService employeeService = new EmployeeServiceImpl(employeePersistence); + + private final Employee.Builder employeeBuilder = + Employee.builder() + .name("Testperson") + .birthday(LocalDate.parse("1996-10-10")) + .educationLevel(EducationLevel.NKA) + .isDriver(true) + .isPilot(false); + + public EmployeeServiceTest() throws PersistenceException { + when(employeePersistence.add(any())).thenReturn(1L); + } + + @Test + public void testAddValidEmployee() throws ServiceException, InvalidEmployeeException { + + Employee employee = employeeBuilder.build(); + Assert.assertThat(employeeService.add(employee), is(1L)); + } + + @Test(expected = InvalidEmployeeException.class) + public void testAddInvalidEmployee() throws InvalidEmployeeException, ServiceException { + + Employee employee = employeeBuilder.name("").build(); + employeeService.add(employee); + } + + @Test + public void testUpdateValidEmployee() throws ElementNotFoundException, PersistenceException { + + Employee employee = employeeBuilder.build(); + employeePersistence.update(employee); + } + + @Test(expected = ElementNotFoundException.class) + public void testUpdateNonExistentEmployee() + throws ElementNotFoundException, PersistenceException { + + doThrow(ElementNotFoundException.class).when(employeePersistence).update(any()); + Employee employee = employeeBuilder.id(1000).build(); + employeePersistence.update(employee); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java new file mode 100644 index 0000000..e380850 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java @@ -0,0 +1,97 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; + +import static org.junit.Assert.assertEquals; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; +import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; +import java.util.Set; +import org.dbunit.Assertion; +import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.ITable; +import org.junit.Test; + +public class OperationServiceIntegrationTest extends JdbcTestCase { + + private OperationService operationService; + + private Operation o; + + public OperationServiceIntegrationTest() throws PersistenceException { + EmployeeDAO employeeDAO = new EmployeeDatabaseDAO(getJdbcConnectionManager()); + RegistrationDAO registrationDAO = + new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO); + VehicleDAO vehicleDAO = + new VehicleDatabaseDAO( + getJdbcConnectionManager(), (RegistrationDatabaseDAO) registrationDAO); + OperationDAO operationDAO = + new OperationDatabaseDAO(getJdbcConnectionManager(), vehicleDAO); + + VehicleService vehicleService = new VehicleServiceImpl(vehicleDAO); + + operationService = new OperationServiceImpl(operationDAO, vehicleDAO, vehicleService); + + Vehicle v1 = + Vehicle.builder() + .id(1) + .name("RTW-1") + .constructionType(Vehicle.ConstructionType.HOCHDACH) + .type(Vehicle.VehicleType.RTW) + .status(Vehicle.Status.FREI_FUNK) + .hasNef(true) + .build(); + + Vehicle v2 = v1.toBuilder().id(2).build(); + Vehicle v3 = v1.toBuilder().id(3).build(); + + o = + Operation.builder() + .opCode("RD-2B0M") + .status(Status.ACTIVE) + .vehicles(Set.of(v1, v2, v3)) + .destination("New destination") + .additionalInfo("New information") + .build(); + } + + @Override + protected IDataSet getDataSet() throws Exception { + return getDataSet("operationDAOUpdateSetup.xml"); + } + + @Test + public void addValidOperation() throws Exception { + + long id = operationService.add(o); + assertEquals(2, id); + + String tableName = "Operation"; + String[] excludedColumns = new String[] {"created"}; + + ITable actual = + Helper.getActualFilteredTableData(getConnection(), tableName, excludedColumns); + ITable expected = + Helper.getExpectedFilteredTableData( + tableName, excludedColumns, "operationDAOAddOperation.xml"); + + Assertion.assertEquals(expected, actual); + } + + @Test(expected = InvalidOperationException.class) + public void addInvalidOperation() throws InvalidOperationException, ServiceException { + operationService.add(o.toBuilder().opCode("").build()); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java new file mode 100644 index 0000000..c232e78 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java @@ -0,0 +1,205 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Severity; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import java.time.Instant; +import java.util.Collections; +import java.util.Set; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class OperationServiceTest { + + @Mock private OperationDAO operationDAO; + + @Mock private VehicleDAO vehicleDAO; + + @InjectMocks private OperationServiceImpl operationService; + + private Set vehicles; + private Vehicle v1, v2, v3, v4, v5; + private Operation baseOp, o1, o2; + + @Before + public void setUp() throws Exception { + v1 = + Vehicle.builder() + .id(1) + .name("RTW-1") + .constructionType(ConstructionType.HOCHDACH) + .type(Vehicle.VehicleType.RTW) + .status(Vehicle.Status.FREI_FUNK) + .hasNef(true) + .build(); + + v2 = + Vehicle.builder() + .id(2) + .name("KTW-1") + .constructionType(ConstructionType.HOCHDACH) + .type(Vehicle.VehicleType.KTW) + .status(Vehicle.Status.FREI_WACHE) + .hasNef(true) + .build(); + + v3 = + Vehicle.builder() + .id(3) + .name("KTW-2") + .constructionType(ConstructionType.MITTELHOCHDACH) + .type(Vehicle.VehicleType.KTW_B) + .status(Vehicle.Status.FREI_FUNK) + .hasNef(false) + .build(); + + v4 = + Vehicle.builder() + .id(4) + .name("BKTW-2") + .constructionType(ConstructionType.HOCHDACH) + .type(Vehicle.VehicleType.BKTW) + .status(Vehicle.Status.FREI_FUNK) + .hasNef(false) + .build(); + + v5 = + Vehicle.builder() + .id(5) + .name("NEF-1") + .constructionType(ConstructionType.NORMAL) + .type(Vehicle.VehicleType.NEF) + .status(Vehicle.Status.FREI_WACHE) + .hasNef(true) + .build(); + + Vehicle v6 = + Vehicle.builder() + .id(6) + .name("NAH-1") + .constructionType(ConstructionType.MITTELHOCHDACH) + .type(Vehicle.VehicleType.NAH) + .status(Vehicle.Status.ABGEMELDET) + .hasNef(true) + .build(); + + vehicles = Set.of(v1, v2, v3, v4, v5, v6); + + baseOp = + Operation.builder() + .opCode("ALP-95E7") + .severity(Severity.E) + .status(Status.ACTIVE) + .vehicles(Collections.singleton(v1)) + .destination("Wiedner Hauptstraße 35, Wien") + .build(); + + o1 = baseOp.toBuilder().id(1).created(Instant.now()).build(); + o2 = o1.toBuilder().id(5).status(Status.CANCELLED).build(); + + when(operationDAO.get(anyLong())) + .thenAnswer( + ans -> { + long arg = ans.getArgument(0); + if (arg == 1L) return o1; + else if (arg == 5L) return o2; + else throw new ElementNotFoundException(""); + }); + + when(vehicleDAO.get(anyLong())) + .thenAnswer( + ans -> { + int arg = ((Long) ans.getArgument(0)).intValue(); + return vehicles.stream() + .filter(v -> v.id() == arg) + .findFirst() + .orElseThrow(() -> new ElementNotFoundException("")); + }); + } + + @Test + public void requestNormal() throws Exception { + Set vehicleIds = Set.of(2L, 3L, 4L, 5L); + operationService.requestVehicles(1, vehicleIds); + + Operation result = + operationDAO.get(1).toBuilder().vehicles(Set.of(v1, v2, v3, v4, v5)).build(); + verify(operationDAO, times(1)).update(result); + verify(operationDAO, times(0)).get(6L); + } + + @Test + public void requestExistingVehicle() throws Exception { + operationService.requestVehicles(1, Set.of(1L)); + + Operation result = operationDAO.get(1); + verify(operationDAO, times(0)).update(result); + } + + @Test(expected = InvalidVehicleException.class) + public void requestInvalidVehicle() throws Exception { + operationService.requestVehicles(1, Set.of(5L, 6L)); + } + + @Test(expected = InvalidOperationException.class) + public void requestInvalidOperation() throws Exception { + operationService.requestVehicles(2, Set.of(1L)); + } + + @Test(expected = InvalidVehicleException.class) + public void requestInactiveVehicle() throws Exception { + operationService.requestVehicles(1, Set.of(6L)); + } + + @Test(expected = InvalidOperationException.class) + public void requestInactiveOperation() throws Exception { + operationService.requestVehicles(5, Set.of(1L)); + } + + @Test + public void addOperation() throws Exception { + operationService.add(baseOp.toBuilder().severity(null).build()); + + verify(operationDAO, times(1)) + .add(baseOp.toBuilder().created(any()).status(Status.ACTIVE).build()); + verify(vehicleDAO, times(1)).get(v1.id()); + } + + @Test(expected = InvalidOperationException.class) + public void addWithSeverity() throws Exception { + operationService.add(baseOp.toBuilder().severity(Severity.E).build()); + } + + @Test(expected = InvalidOperationException.class) + public void addWithoutVehicles() throws Exception { + operationService.add(baseOp.toBuilder().vehicles(Set.of()).build()); + } + + @Test(expected = InvalidOperationException.class) + public void addInvalidOpcode() throws Exception { + operationService.add(baseOp.toBuilder().opCode("ABC").build()); + } + + @Test(expected = InvalidOperationException.class) + public void addWithSetCreated() throws Exception { + operationService.add(baseOp.toBuilder().created(Instant.now()).build()); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java new file mode 100644 index 0000000..bfe44aa --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java @@ -0,0 +1,55 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; +import org.dbunit.dataset.IDataSet; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +public class RegistrationServiceIntegrationTest extends JdbcTestCase { + + private RegistrationDAO registrationDAO; + private VehicleDAO vehicleDAO; + + @Rule public ExpectedException thrown = ExpectedException.none(); + + @Override + protected IDataSet getDataSet() throws Exception { + return getDataSet("registrationTestBaseData.xml"); + } + + @Before + public void prepare() throws PersistenceException { + + EmployeeDAO employeeDAO = new EmployeeDatabaseDAO(getJdbcConnectionManager()); + registrationDAO = new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO); + vehicleDAO = + new VehicleDatabaseDAO( + getJdbcConnectionManager(), (RegistrationDatabaseDAO) registrationDAO); + } + + @Test + public void addValidRegistrationsShouldSucceed() + throws InvalidRegistrationException, ServiceException, InvalidVehicleException { + RegistrationServiceTest.addValidRegistrations(registrationDAO, vehicleDAO); + } + + @Test + public void addOnlyOnePersonToRTWShouldFail() + throws InvalidRegistrationException, ServiceException, InvalidVehicleException { + RegistrationServiceTest.addOnlyOnePersonToRTW(thrown, registrationDAO, vehicleDAO); + } + + // TODO: also test real integration, e.g. add registration and delete afterwards (feedback) +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java new file mode 100644 index 0000000..62982ac --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java @@ -0,0 +1,159 @@ +package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; + +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.Mockito.when; + +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Builder; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import java.time.Instant; +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; +import java.util.HashSet; +import java.util.Set; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; + +public class RegistrationServiceTest { + + @Mock private RegistrationDAO registrationDAO; + + @Mock private VehicleDAO vehicleDAO; + + @Rule public MockitoRule mockitoRule = MockitoJUnit.rule(); + + @Rule public ExpectedException thrown = ExpectedException.none(); + + @Before + public void setUp() throws ElementNotFoundException, PersistenceException { + MockitoAnnotations.initMocks(this); + Builder b = + Vehicle.builder() + .name("RTW-1") + .constructionType(ConstructionType.HOCHDACH) + .status(Status.ABGEMELDET) + .type(VehicleType.RTW) + .hasNef(true); + when(vehicleDAO.get(anyLong())).thenAnswer(ans -> b.id(ans.getArgument(0)).build()); + } + + @Test + public void addValidRegistrationsShouldSucceed() + throws InvalidRegistrationException, ServiceException, InvalidVehicleException { + addValidRegistrations(registrationDAO, vehicleDAO); + } + + @Test + public void addOnlyOnePersonToRTWShouldFail() + throws InvalidRegistrationException, ServiceException, InvalidVehicleException { + addOnlyOnePersonToRTW(thrown, registrationDAO, vehicleDAO); + } + + static void addValidRegistrations(RegistrationDAO registrationDAO, VehicleDAO vehicleDAO) + throws InvalidVehicleException, InvalidRegistrationException, ServiceException { + RegistrationService registrationService = + new RegistrationServiceImpl(registrationDAO, vehicleDAO); + Set registrations = new HashSet<>(); + Vehicle vehicle = + Vehicle.builder() + .id(1) + .name("RTW-1") + .constructionType(ConstructionType.HOCHDACH) + .type(VehicleType.RTW) + .status(Status.ABGEMELDET) + .hasNef(true) + .build(); + Employee employee1 = + Employee.builder() + .id(1) + .name("John Doe") + .birthday(LocalDate.now()) // incorrect, but should be irrelevant + .educationLevel(EducationLevel.RS) + .isDriver(true) + .isPilot(true) + .build(); + Employee employee2 = + Employee.builder() + .id(2) + .name("Nick \"Kage\" Verily") + .birthday(LocalDate.now()) // incorrect, but should be irrelevant + .educationLevel(EducationLevel.NKV) + .isDriver(true) + .isPilot(false) + .build(); + Employee employee3 = + Employee.builder() + .id(3) + .name("Nicht Arzt") + .birthday(LocalDate.now()) // incorrect, but should be irrelevant + .educationLevel(EducationLevel.NA) + .isDriver(false) + .isPilot(false) + .build(); + Instant start = Instant.now(); + Instant end = start.plus(8, ChronoUnit.HOURS); + Registration registration1 = + Registration.builder().start(start).end(end).employee(employee1).build(); + Registration registration2 = + Registration.builder().start(start).end(end).employee(employee2).build(); + Registration registration3 = + Registration.builder().start(start).end(end).employee(employee3).build(); + registrations.add(registration1); + registrations.add(registration2); + registrations.add(registration3); + registrationService.add(vehicle.id(), registrations); + } + + static void addOnlyOnePersonToRTW( + ExpectedException thrown, RegistrationDAO registrationDAO, VehicleDAO vehicleDAO) + throws InvalidVehicleException, InvalidRegistrationException, ServiceException { + thrown.expect(InvalidRegistrationException.class); + RegistrationService registrationService = + new RegistrationServiceImpl(registrationDAO, vehicleDAO); + Set registrations = new HashSet<>(); + Vehicle vehicle = + Vehicle.builder() + .id(1) + .name("RTW-1") + .constructionType(ConstructionType.HOCHDACH) + .type(VehicleType.RTW) + .status(Status.ABGEMELDET) + .hasNef(true) + .build(); + Employee employee = + Employee.builder() + .id(1) + .name("John Doe") + .birthday(LocalDate.now()) // incorrect, but should be irrelevant + .educationLevel(EducationLevel.RS) + .isDriver(true) + .isPilot(true) + .build(); + Registration registration = + Registration.builder() + .start(Instant.MIN) + .end(Instant.MAX) + .employee(employee) + .build(); + registrations.add(registration); + registrationService.add(vehicle.id(), registrations); + } +} -- cgit v1.2.3-70-g09d2 From 41eaffacce8c35e517ec5a1e7a914858a0717a1d Mon Sep 17 00:00:00 2001 From: Tharre Date: Mon, 18 Jun 2018 21:30:50 +0200 Subject: Sort imports after rename --- .../missioncontrol/controller/ArchiveOperationController.java | 2 +- .../missioncontrol/controller/CreateCarController.java | 4 ++-- .../missioncontrol/controller/CreateNewEmployeeController.java | 4 ++-- .../missioncontrol/controller/CreateOperationController.java | 6 +++--- .../missioncontrol/controller/ManageEmployeesController.java | 2 +- .../missioncontrol/controller/OperationDetailsController.java | 6 +++--- .../controller/RegistrationWindowController.java | 6 +++--- .../assignment/groupphase/missioncontrol/dao/EmployeeDAO.java | 2 +- .../groupphase/missioncontrol/dao/EmployeeDatabaseDAO.java | 4 ++-- .../assignment/groupphase/missioncontrol/dao/OperationDAO.java | 4 ++-- .../groupphase/missioncontrol/dao/OperationDatabaseDAO.java | 4 ++-- .../groupphase/missioncontrol/dao/RegistrationDAO.java | 2 +- .../groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java | 4 ++-- .../assignment/groupphase/missioncontrol/dao/VehicleDAO.java | 2 +- .../groupphase/missioncontrol/dao/VehicleDatabaseDAO.java | 4 ++-- .../groupphase/missioncontrol/dto/RegistrationValidator.java | 4 ++-- .../groupphase/missioncontrol/service/EmployeeService.java | 2 +- .../groupphase/missioncontrol/service/EmployeeServiceImpl.java | 6 +++--- .../groupphase/missioncontrol/service/OperationService.java | 6 +++--- .../missioncontrol/service/OperationServiceImpl.java | 10 +++++----- .../groupphase/missioncontrol/service/RegistrationService.java | 2 +- .../missioncontrol/service/RegistrationServiceImpl.java | 10 +++++----- .../groupphase/missioncontrol/service/VehicleService.java | 4 ++-- .../groupphase/missioncontrol/service/VehicleServiceImpl.java | 8 ++++---- .../controller/CreateNewEmployeeControllerTest.java | 2 +- .../controller/CreateNewVehicleControllerTest.java | 2 +- .../groupphase/missioncontrol/dao/EmployeeDAOTest.java | 4 ++-- .../groupphase/missioncontrol/dao/OperationDAOTest.java | 4 ++-- .../groupphase/missioncontrol/dao/RegistrationDAOTest.java | 2 +- .../groupphase/missioncontrol/dao/VehicleDAOTest.java | 4 ++-- .../groupphase/missioncontrol/service/EmployeeServiceTest.java | 8 ++++---- .../service/OperationServiceIntegrationTest.java | 6 +++--- .../missioncontrol/service/OperationServiceTest.java | 6 +++--- .../service/RegistrationServiceIntegrationTest.java | 8 ++++---- .../missioncontrol/service/RegistrationServiceTest.java | 10 +++++----- 35 files changed, 82 insertions(+), 82 deletions(-) (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol') diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java index 6e0c89d..5b1f975 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java @@ -2,11 +2,11 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller; import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showServiceExceptionAlertAndWait; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.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; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateCarController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateCarController.java index aa76535..1dd41c7 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateCarController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateCarController.java @@ -4,13 +4,13 @@ import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller. import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showSuccessAlertAndWait; import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showValidationErrorAlertAndWait; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import java.io.IOException; import java.util.EnumSet; import java.util.Set; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeController.java index 433bfa6..3e0240c 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeController.java @@ -4,11 +4,11 @@ import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller. import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showSuccessAlertAndWait; import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showValidationErrorAlertAndWait; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeService; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader; import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader.FXMLWrapper; import java.io.IOException; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java index b237265..260b910 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java @@ -4,15 +4,15 @@ import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller. import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showSuccessAlertAndWait; import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showValidationErrorAlertAndWait; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.OperationService; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import java.io.IOException; import java.time.Instant; import java.time.temporal.ChronoUnit; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ManageEmployeesController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ManageEmployeesController.java index 6138094..fa228de 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ManageEmployeesController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ManageEmployeesController.java @@ -1,8 +1,8 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.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.util.HashSet; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/OperationDetailsController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/OperationDetailsController.java index 0476fc6..38d3bd1 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/OperationDetailsController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/OperationDetailsController.java @@ -5,14 +5,14 @@ import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller. import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showSuccessAlertAndWait; import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showValidationErrorAlertAndWait; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.OperationService; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import java.io.IOException; import java.util.Collection; import java.util.EnumSet; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java index 9c47fe4..e540b9f 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java @@ -3,6 +3,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller; import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showServiceExceptionAlertAndWait; import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showValidationErrorAlertAndWait; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; @@ -10,9 +13,6 @@ import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeService; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.RegistrationService; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -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.LocalDate; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAO.java index d8ac513..675e951 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAO.java @@ -1,8 +1,8 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; import java.util.Set; public interface EmployeeDAO { diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDatabaseDAO.java index 889b0fc..32dd6d2 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDatabaseDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDatabaseDAO.java @@ -1,9 +1,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager; import java.sql.Connection; import java.sql.PreparedStatement; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAO.java index c0ef5d4..e496898 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAO.java @@ -1,9 +1,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import java.util.EnumSet; import java.util.Set; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java index 1641720..1ccb4cf 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java @@ -1,11 +1,11 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Severity; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager; import java.sql.Connection; import java.sql.PreparedStatement; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAO.java index 02e742c..4a35f86 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAO.java @@ -1,8 +1,8 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; import java.util.Set; public interface RegistrationDAO { diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java index 1006a33..1f11024 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java @@ -1,9 +1,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager; import java.sql.Connection; import java.sql.PreparedStatement; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAO.java index ed24498..46d1853 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAO.java @@ -1,8 +1,8 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import java.util.Set; public interface VehicleDAO { diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java index dd7c0f2..9bd7ec7 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java @@ -1,11 +1,11 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager; import java.sql.Connection; import java.sql.PreparedStatement; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/RegistrationValidator.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/RegistrationValidator.java index 9512f64..a2cb8c1 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/RegistrationValidator.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/RegistrationValidator.java @@ -1,9 +1,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeService.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeService.java index fa4d0e6..5beabaa 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeService.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeService.java @@ -1,8 +1,8 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; import java.util.Set; public interface EmployeeService { diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceImpl.java index 945fb49..a08b03e 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceImpl.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceImpl.java @@ -1,12 +1,12 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.EmployeeValidator; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.EmployeeValidator; import java.util.Set; import org.springframework.stereotype.Service; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationService.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationService.java index ca1dce9..42b23bb 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationService.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationService.java @@ -1,11 +1,11 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import java.util.EnumSet; import java.util.Set; import java.util.SortedSet; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceImpl.java index baae598..0c350fe 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceImpl.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceImpl.java @@ -1,5 +1,10 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; @@ -7,11 +12,6 @@ import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Seve import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import java.time.Instant; import java.util.ArrayList; import java.util.Comparator; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationService.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationService.java index 027417f..91577dc 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationService.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationService.java @@ -1,9 +1,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; import java.util.Set; public interface RegistrationService { diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceImpl.java index 3ec69e7..eb2cd1d 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceImpl.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceImpl.java @@ -1,15 +1,15 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.RegistrationValidator; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.RegistrationValidator; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/VehicleService.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/VehicleService.java index d96dfb7..f8e303d 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/VehicleService.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/VehicleService.java @@ -1,9 +1,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; import java.util.EnumSet; import java.util.Set; diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/VehicleServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/VehicleServiceImpl.java index 6a035c6..a68720d 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/VehicleServiceImpl.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/VehicleServiceImpl.java @@ -1,13 +1,13 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; import java.util.EnumSet; import java.util.Set; import java.util.stream.Collectors; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java index 2b0f793..ccd37b4 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java @@ -6,9 +6,9 @@ import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller. import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeService; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeService; import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; import javafx.scene.control.DialogPane; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java index 282c50f..4906d64 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java @@ -6,9 +6,9 @@ import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller. import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; import javafx.scene.control.DialogPane; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java index 8485f67..008ac57 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java @@ -1,9 +1,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.io.InputStream; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java index a4a0829..b15b31a 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java @@ -2,14 +2,14 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; import static org.junit.Assert.assertEquals; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Severity; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.time.Instant; import java.util.Arrays; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java index 6f7ee49..2cb54f8 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java @@ -2,10 +2,10 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; import static org.junit.Assert.*; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.time.Instant; import java.time.LocalDate; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java index 294ce10..c4d7d86 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java @@ -1,11 +1,11 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.io.InputStream; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java index 7a16d3e..17c0a47 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java @@ -6,14 +6,14 @@ import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; -import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel; import java.time.LocalDate; import org.junit.Assert; import org.junit.Test; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java index e380850..865a402 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java @@ -2,6 +2,9 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; import static org.junit.Assert.assertEquals; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDAO; @@ -13,9 +16,6 @@ import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDatabas import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.util.Set; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java index c232e78..4c1eaf1 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java @@ -6,6 +6,9 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation; @@ -13,9 +16,6 @@ import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Seve import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; import java.time.Instant; import java.util.Collections; import java.util.Set; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java index bfe44aa..ac5c3fb 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java @@ -1,15 +1,15 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDatabaseDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDatabaseDAO; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import org.dbunit.dataset.IDataSet; import org.junit.Before; diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java index 62982ac..b4bcff4 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java @@ -3,6 +3,11 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.when; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee; @@ -13,11 +18,6 @@ import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Builde import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import java.time.Instant; import java.time.LocalDate; import java.time.temporal.ChronoUnit; -- cgit v1.2.3-70-g09d2 From e9d65c968e38128f27d104cd4f96cc2d8f8df458 Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Tue, 19 Jun 2018 18:00:02 +0200 Subject: Add missing RegistrationDatabaseDao [#25963] --- .../missioncontrol/service/OperationServiceIntegrationTest.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java index 865a402..008787f 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java @@ -3,7 +3,6 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service; import static org.junit.Assert.assertEquals; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO; @@ -30,7 +29,7 @@ public class OperationServiceIntegrationTest extends JdbcTestCase { private Operation o; - public OperationServiceIntegrationTest() throws PersistenceException { + public OperationServiceIntegrationTest() { EmployeeDAO employeeDAO = new EmployeeDatabaseDAO(getJdbcConnectionManager()); RegistrationDAO registrationDAO = new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO); @@ -38,7 +37,10 @@ public class OperationServiceIntegrationTest extends JdbcTestCase { new VehicleDatabaseDAO( getJdbcConnectionManager(), (RegistrationDatabaseDAO) registrationDAO); OperationDAO operationDAO = - new OperationDatabaseDAO(getJdbcConnectionManager(), vehicleDAO); + new OperationDatabaseDAO( + getJdbcConnectionManager(), + vehicleDAO, + (RegistrationDatabaseDAO) registrationDAO); VehicleService vehicleService = new VehicleServiceImpl(vehicleDAO); -- cgit v1.2.3-70-g09d2 From f0af2d1909ecdff0dc2cdb796622de69522ab15e Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Tue, 19 Jun 2018 18:02:03 +0200 Subject: Fix names of vehicles in test-data [#25963] The name of a vehicle is always "-" --- .../assignment/groupphase/missioncontrol/dao/OperationDAOTest.java | 6 ++++-- src/test/resources/operationDAOAddOperation.xml | 6 +++--- src/test/resources/operationDAOUpdateNormal.xml | 6 +++--- src/test/resources/operationDAOUpdateRemoveVehicles.xml | 6 +++--- src/test/resources/operationDAOUpdateSetup.xml | 6 +++--- src/test/resources/operationIntegrationVehicles.xml | 6 +++--- 6 files changed, 19 insertions(+), 17 deletions(-) (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java index b15b31a..d9e7fb7 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java @@ -41,7 +41,9 @@ public class OperationDAOTest extends JdbcTestCase { new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO); VehicleDAO vehicleDAO = new VehicleDatabaseDAO(getJdbcConnectionManager(), registrationDatabaseDAO); - this.operationDAO = new OperationDatabaseDAO(getJdbcConnectionManager(), vehicleDAO); + this.operationDAO = + new OperationDatabaseDAO( + getJdbcConnectionManager(), vehicleDAO, registrationDatabaseDAO); Vehicle v1 = Vehicle.builder() @@ -71,7 +73,7 @@ public class OperationDAOTest extends JdbcTestCase { Vehicle vehicle = Vehicle.builder() .id(4) - .name("BKTW-2") + .name("BKTW-4") .constructionType(ConstructionType.HOCHDACH) .type(VehicleType.BKTW) .hasNef(false) diff --git a/src/test/resources/operationDAOAddOperation.xml b/src/test/resources/operationDAOAddOperation.xml index fad04ce..adc8c3d 100644 --- a/src/test/resources/operationDAOAddOperation.xml +++ b/src/test/resources/operationDAOAddOperation.xml @@ -5,9 +5,9 @@ destination="New destination" additionalInfo="New information" status="ACTIVE"/> - - - + + + diff --git a/src/test/resources/operationDAOUpdateNormal.xml b/src/test/resources/operationDAOUpdateNormal.xml index a02f495..a4c4653 100644 --- a/src/test/resources/operationDAOUpdateNormal.xml +++ b/src/test/resources/operationDAOUpdateNormal.xml @@ -3,9 +3,9 @@ destination="New destination" additionalInfo="New information" status="ACTIVE"/> - - - + + + diff --git a/src/test/resources/operationDAOUpdateRemoveVehicles.xml b/src/test/resources/operationDAOUpdateRemoveVehicles.xml index 1fcce62..a23f86c 100644 --- a/src/test/resources/operationDAOUpdateRemoveVehicles.xml +++ b/src/test/resources/operationDAOUpdateRemoveVehicles.xml @@ -3,9 +3,9 @@ destination="New destination" status="ACTIVE" additionalInfo="New information"/> - - - + + + diff --git a/src/test/resources/operationDAOUpdateSetup.xml b/src/test/resources/operationDAOUpdateSetup.xml index 82ef238..533e58e 100644 --- a/src/test/resources/operationDAOUpdateSetup.xml +++ b/src/test/resources/operationDAOUpdateSetup.xml @@ -3,9 +3,9 @@ destination="Wiedner Hauptstraße 35, Wien" additionalInfo="Additional information" status="ACTIVE"/> - - - + + + diff --git a/src/test/resources/operationIntegrationVehicles.xml b/src/test/resources/operationIntegrationVehicles.xml index 45475a4..0e6f848 100644 --- a/src/test/resources/operationIntegrationVehicles.xml +++ b/src/test/resources/operationIntegrationVehicles.xml @@ -1,8 +1,8 @@ - - - + + + -- cgit v1.2.3-70-g09d2