From d77d9625cb4cd05d2b746c721b65f0f32313fab8 Mon Sep 17 00:00:00 2001
From: Viktoria Pundy <viktoria.pundy@aon.at>
Date: Fri, 4 May 2018 12:06:52 +0200
Subject: Finished implementing needed methods in Persistence layer, added some
 validation factors for operation validation; Added methods to ui to
 add/remove vehicles to operation, created dummy vehicles

---
 .../einsatzverwaltung/dao/DBOperationDAO.java          |  5 ++++-
 .../groupphase/einsatzverwaltung/dao/DBVehicleDAO.java |  1 -
 .../service/OperationServiceImpl.java                  |  1 +
 .../einsatzverwaltung/service/VehicleServiceImpl.java  | 18 ++++++++++++++----
 .../userInterface/CreateOperationController.java       |  8 ++++++++
 5 files changed, 27 insertions(+), 6 deletions(-)

(limited to 'src/main/java/at')

diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java
index d332acc..aaf7631 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java
@@ -5,6 +5,7 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.S
 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.beans.Statement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -92,7 +93,9 @@ public class DBOperationDAO implements OperationDAO {
             }
             pstmt.executeUpdate();
             ResultSet rs = pstmt.getGeneratedKeys();
-            if (rs.next()) return rs.getInt(1);
+            if (rs.next()) {
+                return rs.getInt(1);
+            }
             else throw new PersistenceException("Einsatz konnte nicht gespeichert werden");
         } catch (SQLException e) {
             throw new PersistenceException(e);
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java
index a2cd486..d966dc5 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java
@@ -12,7 +12,6 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.LinkedList;
 import java.util.List;
-import javax.annotation.Nullable;
 
 public class DBVehicleDAO implements VehicleDAO {
 
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
index 4d5fb68..e0fd824 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
@@ -15,6 +15,7 @@ import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationExcepti
 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.JDBCConnectionManager;
 import java.util.EnumSet;
 import java.util.List;
 import javafx.collections.transformation.SortedList;
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java
index 80d7432..f21ae9a 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java
@@ -1,14 +1,21 @@
 package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service;
 
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.DBVehicleDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
 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.JDBCConnectionManager;
 import java.util.EnumSet;
 import java.util.List;
 
 public class VehicleServiceImpl implements VehicleService {
 
+    // TODO
+    private static VehicleDAO vehicleDAO = new DBVehicleDAO(new JDBCConnectionManager());
+
     @Override
     public long add(Vehicle vehicle) throws InvalidVehicleException, ServiceException {
         return 0;
@@ -21,11 +28,14 @@ public class VehicleServiceImpl implements VehicleService {
 
     @Override
     public List<Vehicle> list(EnumSet<Status> statuses) throws ServiceException {
-        return null;
+        // TODO: IMPLEMENT SEARCH WITH STATUS
+        try {
+            return vehicleDAO.list();
+        } catch (PersistenceException e) {
+            throw new ServiceException(e);
+        }
     }
 
     @Override
-    public void remove(long id) throws InvalidVehicleException, ServiceException {
-
-    }
+    public void remove(long id) throws InvalidVehicleException, ServiceException {}
 }
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java
index b5a8cf1..ab761e3 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java
@@ -4,11 +4,15 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.DBOperation
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationServiceImpl;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleServiceImpl;
 import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException;
 import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
 import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager;
@@ -24,11 +28,15 @@ import javafx.scene.control.Button;
 import javafx.scene.control.Label;
 import javafx.scene.control.ListCell;
 import java.time.Instant;
+import java.util.EnumSet;
 import java.util.LinkedList;
 import java.util.List;
+import javafx.collections.FXCollections;
 import javafx.fxml.FXML;
+import javafx.scene.control.Alert;
 import javafx.scene.control.Button;
 import javafx.scene.control.Label;
+import javafx.scene.control.ListCell;
 import javafx.scene.control.ListView;
 import javafx.scene.control.TextField;
 import javafx.scene.layout.AnchorPane;
-- 
cgit v1.2.3-70-g09d2