diff options
Diffstat (limited to 'src/main/java/at/ac/tuwien')
4 files changed, 114 insertions, 10 deletions
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 c68b795..7036a1b 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 @@ -4,6 +4,7 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.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.util.JDBCConnectionManager;  import java.sql.PreparedStatement;  import java.sql.ResultSet;  import java.sql.SQLException; @@ -13,12 +14,19 @@ import java.util.List;  public class DBOperationDAO implements OperationDAO { +    private JDBCConnectionManager jdbcConnectionManager; + +    public DBOperationDAO(JDBCConnectionManager j) { +        jdbcConnectionManager = j; +    } +      @Override      public long add(Operation operation) throws PersistenceException {          PreparedStatement pstmt = null;          try {              pstmt = -                    H2Handler.getConnection() +                    jdbcConnectionManager +                            .getConnection()                              .prepareStatement(                                      "INSERT INTO operation(opCode, severity, "                                              + "created, destination, additionalInfo, status) values (?,?,?,?,?,?)"); @@ -84,7 +92,7 @@ public class DBOperationDAO implements OperationDAO {              ResultSet rs = pstmt.getGeneratedKeys();              if (rs.next()) return rs.getInt(1);              else throw new PersistenceException("Einsatz konnte nicht gespeichert werden"); -        } catch (SQLException | ClassNotFoundException e) { +        } catch (SQLException e) {              throw new PersistenceException(e);          } finally {              if (pstmt != null) { @@ -117,7 +125,8 @@ public class DBOperationDAO implements OperationDAO {          PreparedStatement pstmt = null;          try {              pstmt = -                    H2Handler.getConnection() +                    jdbcConnectionManager +                            .getConnection()                              .prepareStatement(                                      "insert into VehicleOperation(vehicleId, operationId)"                                              + "values (?,?)"); @@ -129,7 +138,7 @@ public class DBOperationDAO implements OperationDAO {              else                  throw new PersistenceException(                          "Fahrzeug für die Operation konnte nicht abgespeichert werden!"); -        } catch (SQLException | ClassNotFoundException e) { +        } catch (SQLException e) {              throw new PersistenceException(e);          } finally {              if (pstmt != null) { 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 new file mode 100644 index 0000000..57a94de --- /dev/null +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java @@ -0,0 +1,62 @@ +package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao; + +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.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.util.JDBCConnectionManager; +import java.sql.PreparedStatement; +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 { + +    private JDBCConnectionManager jdbcConnectionManager; + +    public DBVehicleDAO(JDBCConnectionManager j) { +        jdbcConnectionManager = j; +    } + +    @Override +    public long add(Vehicle vehicle) throws PersistenceException { +        return 0; +    } + +    @Override +    public void update(Vehicle vehicle) throws ElementNotFoundException, PersistenceException { + +    } + +    @Override +    public List<Vehicle> list() throws PersistenceException { +        PreparedStatement pstmt = null; +        List<Vehicle> result = new LinkedList<>(); +        try { +            pstmt = jdbcConnectionManager.getConnection().prepareStatement("Select * from VehicleVersion, " +                    + "Vehicle where VehicleVersion.id=Vehicle.version"); +            //TODO: CORRECT? +            pstmt.executeQuery(); + +            ResultSet rs = pstmt.getResultSet(); +            while (rs.next()){ +                //TODO: HAS NEF?, Registrations +                Vehicle vehicle = Vehicle.builder().name(rs.getString(2)). +                        constructionType(ConstructionType.valueOf(rs.getString(2))). +                        status(Status.valueOf(rs.getString(7))).id(rs.getInt(1)).build(); +                result.add(vehicle); +            } +        } catch (SQLException e) { +            //TODO +        } +        return null; +    } + +    @Override +    public void remove(long id) throws ElementNotFoundException, PersistenceException { + +    } +} 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 f705084..eee158b 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 @@ -10,6 +10,7 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Veh  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.util.EnumSet;  import java.util.List;  import javafx.collections.transformation.SortedList; @@ -20,7 +21,7 @@ public class OperationServiceImpl implements OperationService {      private OperationDAO operationDAO = new DBOperationDAO();      @Override -    public long add(Operation operation) throws InvalidOperationException, PersistenceException { +    public long add(Operation operation) throws InvalidOperationException, ServiceException {          List<Vehicle> vehicles = operation.vehicles();          boolean rtw = false;          for (Vehicle vehicle : vehicles) { @@ -46,6 +47,7 @@ public class OperationServiceImpl implements OperationService {                      }                  }                  if (!rtw) +                    //TODO: NUR WARNUNG AUSGEBEN                      throw new InvalidOperationException(                              "Zu einem Fahrzeug des Typs NAH muss auch ein Fahrzeug des Typs RTW geschickt werden!");              } @@ -68,25 +70,25 @@ public class OperationServiceImpl implements OperationService {              operationDAO.connectVehicleToOperation(vehicle.id(), operation.id());          }          return operationDAO.add(operation); -        // TODO: CODE VALIDIEREN, Adresse nach vierstelliger Nummer suchen, +        // TODO: CODE VALIDIEREN?      }      @Override      public void requestVehicles(long operationId, List<Long> vehicleIds) -            throws InvalidOperationException, InvalidVehicleException, PersistenceException {} +            throws InvalidOperationException, InvalidVehicleException, ServiceException {}      @Override      public void complete(long operationId, Status status) -            throws InvalidOperationException, PersistenceException {} +            throws InvalidOperationException, ServiceException {}      @Override      public SortedList<Vehicle> rankVehicles(long operationId) -            throws InvalidOperationException, PersistenceException { +            throws InvalidOperationException, ServiceException {          return null;      }      @Override -    public List<Operation> list(EnumSet<Status> statuses) throws PersistenceException { +    public List<Operation> list(EnumSet<Status> statuses) throws ServiceException {          return null;      }  } 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 new file mode 100644 index 0000000..80d7432 --- /dev/null +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java @@ -0,0 +1,31 @@ +package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service; + +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.ServiceException; +import java.util.EnumSet; +import java.util.List; + +public class VehicleServiceImpl implements VehicleService { + +    @Override +    public long add(Vehicle vehicle) throws InvalidVehicleException, ServiceException { +        return 0; +    } + +    @Override +    public Vehicle update(Vehicle vehicle) throws InvalidVehicleException, ServiceException { +        return null; +    } + +    @Override +    public List<Vehicle> list(EnumSet<Status> statuses) throws ServiceException { +        return null; +    } + +    @Override +    public void remove(long id) throws InvalidVehicleException, ServiceException { + +    } +}  | 
