From e75ebc93371ef40c364f6557646772fd9bfee097 Mon Sep 17 00:00:00 2001 From: Togepy95 Date: Thu, 20 Apr 2017 16:15:52 +0200 Subject: [PATCH] Constructor for subclasses Added constructors to House, Apartment, TenancyContract and PurchaseContract to make a special instance from an instance of its superclass. Updatet cli.bat. Added Contract to Orm.getAll(Type) --- 02/cli.bat | 2 +- 02/src/de/dis2017/Main.java | 8 ++++---- 02/src/de/dis2017/data/Apartment.java | 14 ++++++++++++++ 02/src/de/dis2017/data/House.java | 14 ++++++++++++++ 02/src/de/dis2017/data/PurchaseContract.java | 10 ++++++++++ 02/src/de/dis2017/data/TenancyContract.java | 10 ++++++++++ 02/src/de/dis2017/data/db/ORM.java | 3 +++ 7 files changed, 56 insertions(+), 5 deletions(-) diff --git a/02/cli.bat b/02/cli.bat index 3d84bce..c46a00d 100644 --- a/02/cli.bat +++ b/02/cli.bat @@ -1 +1 @@ -java -cp "out\production\DIS sheet 2:lib\db2jcc.jar:lib\db2jcc_license_cu.jar" de.dis2017.Main \ No newline at end of file +java -cp "bin/;lib/*" de.dis2017.Main \ No newline at end of file diff --git a/02/src/de/dis2017/Main.java b/02/src/de/dis2017/Main.java index d35fa9c..cdaea5a 100644 --- a/02/src/de/dis2017/Main.java +++ b/02/src/de/dis2017/Main.java @@ -154,7 +154,7 @@ public class Main { contract.setPlace(FormUtil.readString("Place")); contract.setDate(FormUtil.readString("Date")); if(estate instanceof Apartment){ - TenancyContract tenContract = (TenancyContract) contract; + TenancyContract tenContract = new TenancyContract(contract); tenContract.setStartDate(FormUtil.readString("Start Date")); tenContract.setDuration(FormUtil.readInt("Duration")); tenContract.setAdditionalCost(FormUtil.readInt("Additional Costs")); @@ -162,7 +162,7 @@ public class Main { //_orm.persist(tenContract); } else{ - PurchaseContract purContract = (PurchaseContract) contract; + PurchaseContract purContract = new PurchaseContract(contract); purContract.setNoOfInstallments(FormUtil.readInt("No of Installments")); purContract.setInterestRate(FormUtil.readInt("Interest Rate")); @@ -251,7 +251,7 @@ public class Main { estate.setSquareArea(FormUtil.readInt("Square Area")); estate.setAgent(FormUtil.readInt("EstateAgent ID")); if(isApartment){ - Apartment apartment = (Apartment) estate; + Apartment apartment = new Apartment(estate); apartment.setFloor(FormUtil.readInt("Floor")); apartment.setRooms(FormUtil.readInt("Rooms")); apartment.setRent(FormUtil.readInt("Rent")); @@ -261,7 +261,7 @@ public class Main { apartment.setBuiltinKitchen(input.equals("Y") || input.equals("y")); } else{ - House house = (House) estate; + House house = new House(estate); house.setPrice(FormUtil.readInt("Price")); house.setFloors(FormUtil.readInt("Floors")); input = FormUtil.readString("Garden(Y/N)"); diff --git a/02/src/de/dis2017/data/Apartment.java b/02/src/de/dis2017/data/Apartment.java index 1d6da7b..a2ca3f1 100644 --- a/02/src/de/dis2017/data/Apartment.java +++ b/02/src/de/dis2017/data/Apartment.java @@ -7,6 +7,20 @@ public class Apartment extends Estate{ private boolean balcony; private boolean builtinKitchen; + public Apartment(){ + super(); + } + + public Apartment(Estate estate){ + this.setId(estate.getId()); + this.setCity(estate.getCity()); + this.setPostalCode(estate.getPostalCode()); + this.setStreet(estate.getStreet()); + this.setStreetNumber(estate.getStreetNumber()); + this.setSquareArea(estate.getSquareArea()); + this.setAgent(estate.getAgent()); + } + public int getFloor() { return floor; } diff --git a/02/src/de/dis2017/data/House.java b/02/src/de/dis2017/data/House.java index 59265ea..44e3e00 100644 --- a/02/src/de/dis2017/data/House.java +++ b/02/src/de/dis2017/data/House.java @@ -5,6 +5,20 @@ public class House extends Estate { private int price; private boolean garden; + public House(){ + super(); + } + + public House(Estate estate){ + this.setId(estate.getId()); + this.setCity(estate.getCity()); + this.setPostalCode(estate.getPostalCode()); + this.setStreet(estate.getStreet()); + this.setStreetNumber(estate.getStreetNumber()); + this.setSquareArea(estate.getSquareArea()); + this.setAgent(estate.getAgent()); + } + public int getFloors() { return floors; } diff --git a/02/src/de/dis2017/data/PurchaseContract.java b/02/src/de/dis2017/data/PurchaseContract.java index d71b723..534dbb5 100644 --- a/02/src/de/dis2017/data/PurchaseContract.java +++ b/02/src/de/dis2017/data/PurchaseContract.java @@ -6,6 +6,16 @@ public class PurchaseContract extends Contract { private int house; + public PurchaseContract(){ + super(); + } + public PurchaseContract(Contract contract){ + this.setContractNo(contract.getContractNo()); + this.setDate(contract.getDate()); + this.setPlace(contract.getPlace()); + this.setPerson(contract.getPerson()); + } + public int getNoOfInstallments() { return noOfInstallments; } diff --git a/02/src/de/dis2017/data/TenancyContract.java b/02/src/de/dis2017/data/TenancyContract.java index 5e1d22a..f1eda43 100644 --- a/02/src/de/dis2017/data/TenancyContract.java +++ b/02/src/de/dis2017/data/TenancyContract.java @@ -9,6 +9,16 @@ public class TenancyContract extends Contract { private int apartment; + public TenancyContract(){ + super(); + } + public TenancyContract(Contract contract){ + this.setContractNo(contract.getContractNo()); + this.setDate(contract.getDate()); + this.setPlace(contract.getPlace()); + this.setPerson(contract.getPerson()); + } + public String getStartDate() { return startDate; } diff --git a/02/src/de/dis2017/data/db/ORM.java b/02/src/de/dis2017/data/db/ORM.java index b9348c2..f054785 100644 --- a/02/src/de/dis2017/data/db/ORM.java +++ b/02/src/de/dis2017/data/db/ORM.java @@ -55,6 +55,9 @@ public class ORM { case ESTATE: objects = processEstates(rs); break; + case CONTRACT: + objects = processEstates(rs); + break; } rs.close(); pstmt.close();