From acf0d884d2db2f6e849c48455c0a86cb5636a47b Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Wed, 19 Apr 2017 11:26:05 +0200 Subject: [PATCH] Added ability to load all estates Signed-off-by: Jim Martens --- 02/src/de/dis2017/data/db/ORM.java | 61 ++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/02/src/de/dis2017/data/db/ORM.java b/02/src/de/dis2017/data/db/ORM.java index aba71e9..8f02b4e 100644 --- a/02/src/de/dis2017/data/db/ORM.java +++ b/02/src/de/dis2017/data/db/ORM.java @@ -18,6 +18,7 @@ public class ORM { private Map _agents; private Map _agentsUsername; + private Map _estates; /** * Initializes the ORM. @@ -27,6 +28,7 @@ public class ORM { _connection = _dbManager.getConnection(); _agents = new HashMap<>(); _agentsUsername = new HashMap<>(); + _estates = new HashMap<>(); } /** @@ -48,6 +50,9 @@ public class ORM { case ESTATEAGENT: objects = processAgents(rs); break; + case ESTATE: + objects = processEstates(rs); + break; } rs.close(); pstmt.close(); @@ -58,29 +63,53 @@ public class ORM { return objects; } + /** + * Process a select all query for estates. + * + * @param rs the result set of such a query + * @return a list of estates + * @throws SQLException when an error occurs during the rs.next call + */ + private List processEstates(ResultSet rs) throws SQLException { + List estates = new ArrayList<>(); + + while (rs.next()) { + Estate estate = new Estate(); + estate.setId(rs.getInt("ID")); + estate.setCity(rs.getString("city")); + estate.setPostalCode(rs.getString("postalCode")); + estate.setStreet(rs.getString("street")); + estate.setStreetNumber(rs.getInt("streetNumber")); + estate.setSquareArea(rs.getInt("squareArea")); + estate.setAgent(rs.getInt("agent")); + + _estates.put(estate.getId(), estate); + estates.add(estate); + } + + return estates; + } + /** * Processes a select all query for estate agents. * * @param rs the result set of such a query * @return a list of agents + * @throws SQLException when an error occurs during the rs.next call */ - private List processAgents(ResultSet rs) { + private List processAgents(ResultSet rs) throws SQLException { List agents = new ArrayList<>(); - try { - while (rs.next()) { - EstateAgent agent = new EstateAgent(); - agent.setId(rs.getInt("ID")); - agent.setName(rs.getString("name")); - agent.setAddress(rs.getString("address")); - agent.setLogin(rs.getString("login")); - agent.setPassword(rs.getString("password")); - - _agents.put(agent.getId(), agent); - _agentsUsername.put(agent.getLogin(), agent); - agents.add(agent); - } - } catch (SQLException e) { - e.printStackTrace(); + while (rs.next()) { + EstateAgent agent = new EstateAgent(); + agent.setId(rs.getInt("ID")); + agent.setName(rs.getString("name")); + agent.setAddress(rs.getString("address")); + agent.setLogin(rs.getString("login")); + agent.setPassword(rs.getString("password")); + + _agents.put(agent.getId(), agent); + _agentsUsername.put(agent.getLogin(), agent); + agents.add(agent); } return agents;