From 91f79ab7ab9031b0db00ca649a1f7745bb0246ec Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Wed, 19 Apr 2017 12:42:15 +0200 Subject: [PATCH] Added delete method for estates Signed-off-by: Jim Martens --- 02/src/de/dis2017/data/db/ORM.java | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/02/src/de/dis2017/data/db/ORM.java b/02/src/de/dis2017/data/db/ORM.java index cae9f92..d060e0f 100644 --- a/02/src/de/dis2017/data/db/ORM.java +++ b/02/src/de/dis2017/data/db/ORM.java @@ -307,7 +307,7 @@ public class ORM { public void delete(EstateAgent agent) { if (agent.getId() == -1) { - System.err.println("This agent is not yet persisted to the dabase and cannot be deleted."); + System.err.println("This agent is not yet persisted to the database and cannot be deleted."); return; } else { // create query @@ -322,6 +322,29 @@ public class ORM { } } + /** + * Deletes an estate from the database. + * + * @param estate the estate to be deleted + */ + public void delete(Estate estate) { + if (estate.getId() == -1) { + System.err.println("This estate is not yet persisted to the database and cannot be deleted."); + return; + } else { + // create query + String deleteSQL = "DELETE FROM HOUSE WHERE ID = ?"; + delete(deleteSQL, estate.getId()); + deleteSQL = "DELETE FROM APARTMENT WHERE ID = ?"; + delete(deleteSQL, estate.getId()); + deleteSQL = "DELETE FROM ESTATE WHERE ID = ?"; + delete(deleteSQL, estate.getId()); + } + if (_estates.containsKey(estate.getId())) { + _estates.remove(estate.getId(), estate); + } + } + /** * Deletes an object from the database. *