From e5350da14268ce5355375d77c4e1f0422029ebbb Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Mon, 24 Apr 2017 13:46:00 +0200 Subject: [PATCH] Added ability to retrieve list of contracts Signed-off-by: Jim Martens --- 02/src/de/dis2017/data/db/ORM.java | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/02/src/de/dis2017/data/db/ORM.java b/02/src/de/dis2017/data/db/ORM.java index b9348c2..44d2f9e 100644 --- a/02/src/de/dis2017/data/db/ORM.java +++ b/02/src/de/dis2017/data/db/ORM.java @@ -1,9 +1,6 @@ package de.dis2017.data.db; -import de.dis2017.data.Apartment; -import de.dis2017.data.Estate; -import de.dis2017.data.EstateAgent; -import de.dis2017.data.House; +import de.dis2017.data.*; import org.jetbrains.annotations.Nullable; import java.sql.*; @@ -55,6 +52,9 @@ public class ORM { case ESTATE: objects = processEstates(rs); break; + case CONTRACT: + objects = processContracts(rs); + break; } rs.close(); pstmt.close(); @@ -116,6 +116,28 @@ public class ORM { return agents; } + /** + * Process a select all query for contracts. + * + * @param rs the result set of such a query + * @return a list of contracts + * @throws SQLException when an error occurs during the rs.next call + */ + private List processContracts(ResultSet rs) throws SQLException { + List contracts = new ArrayList<>(); + + while (rs.next()) { + Contract contract = new Contract(); + contract.setContractNo(rs.getInt("contractNumber")); + contract.setPlace(rs.getString("place")); + contract.setDate(rs.getString("date")); + + contracts.add(contract); + } + + return contracts; + } + /** * Loads the estate with the given ID from database and returns the corresponding object. *