diff --git a/src/java/lodge/TestReservations.java b/src/java/lodge/TestReservations.java index 7197dbd..f4ac2fa 100644 --- a/src/java/lodge/TestReservations.java +++ b/src/java/lodge/TestReservations.java @@ -50,6 +50,8 @@ public final class TestReservations { hotel.setNumberOfFloors(1); hotel.setNumberOfBedRooms(2); hotel.setSquareFeet(450); + hotel.setReservation_start_date(ZonedDateTime.of(2025, 07, 05, 10, 0, 0, 0, ZoneId.of("UTC"))); + hotel.setReservation_end_date(ZonedDateTime.of(2025, 11, 30, 22, 0, 0, 0, ZoneId.of("UTC"))); boolean success1 = mgr.addReservation(mgr.retrieveAccount(acct.account_number()), hotel); assert success1; @@ -62,6 +64,8 @@ public final class TestReservations { cabin.setNumberOfFloors(2); cabin.setNumberOfBedRooms(3); cabin.setSquareFeet(806); + cabin.setReservation_start_date(ZonedDateTime.of(2025, 07, 05, 10, 0, 0, 0, ZoneId.of("UTC"))); + cabin.setReservation_end_date(ZonedDateTime.of(2025, 11, 30, 22, 0, 0, 0, ZoneId.of("UTC"))); boolean success2 = mgr.addReservation(mgr.retrieveAccount(acct.account_number()), cabin); assert success2; diff --git a/src/java/lodge/reservationsystem/CabinReservation.java b/src/java/lodge/reservationsystem/CabinReservation.java index c7a306d..09387c1 100644 --- a/src/java/lodge/reservationsystem/CabinReservation.java +++ b/src/java/lodge/reservationsystem/CabinReservation.java @@ -2,9 +2,7 @@ package lodge.reservationsystem; import java.lang.reflect.Type; -import com.google.gson.InstanceCreator; - -public final class CabinReservation extends Reservation implements InstanceCreator{ +public final class CabinReservation extends Reservation{ public final String ReservationType() { type='C'; @@ -17,9 +15,4 @@ public final class CabinReservation extends Reservation implements InstanceCrea return price; } - @Override - public Reservation createInstance(Type type) { - System.out.println( String.format( "%s.", this.type)); - return new CabinReservation(); - } } diff --git a/src/java/lodge/reservationsystem/DataRepository.java b/src/java/lodge/reservationsystem/DataRepository.java index 5161645..851c01e 100644 --- a/src/java/lodge/reservationsystem/DataRepository.java +++ b/src/java/lodge/reservationsystem/DataRepository.java @@ -71,7 +71,7 @@ final class DataRepository { Address ad = null; while (jsonReader.hasNext()) { String name = jsonReader.nextName(); - System.out.println(String.format("Load Account %s", name)); + String.format("Load Account %s", name); switch (name) { case "Account": jsonReader.beginObject(); @@ -88,14 +88,14 @@ final class DataRepository { break; case "Address": jsonReader.beginObject(); - System.out.println(jsonReader.nextName()); + jsonReader.nextName(); ad = new Address(); ad.setStreet(jsonReader.nextString()); - System.out.println(jsonReader.nextName()); + jsonReader.nextName(); ad.setCity(jsonReader.nextString()); - System.out.println(jsonReader.nextName()); + jsonReader.nextName(); ad.setState(jsonReader.nextString()); - System.out.println(jsonReader.nextName()); + jsonReader.nextName(); ad.setZip(jsonReader.nextString()); jsonReader.endObject(); jsonReader.endObject(); diff --git a/src/java/lodge/reservationsystem/HotelReservation.java b/src/java/lodge/reservationsystem/HotelReservation.java index 694803c..a880de8 100644 --- a/src/java/lodge/reservationsystem/HotelReservation.java +++ b/src/java/lodge/reservationsystem/HotelReservation.java @@ -1,10 +1,6 @@ package lodge.reservationsystem; -import java.lang.reflect.Type; - -import com.google.gson.InstanceCreator; - -public final class HotelReservation extends Reservation implements InstanceCreator{ +public final class HotelReservation extends Reservation{ public final String ReservationType() { type = 'H'; @@ -17,10 +13,4 @@ public final class HotelReservation extends Reservation implements InstanceCreat // flat fee return 0.0f; } - - @Override - public Reservation createInstance(Type type) { - System.out.println( String.format( "%s.", this.type)); - return (Reservation) new HotelReservation(); - } } diff --git a/src/java/lodge/reservationsystem/HouseReservation.java b/src/java/lodge/reservationsystem/HouseReservation.java index 4a154cb..81c3376 100644 --- a/src/java/lodge/reservationsystem/HouseReservation.java +++ b/src/java/lodge/reservationsystem/HouseReservation.java @@ -1,10 +1,6 @@ package lodge.reservationsystem; -import java.lang.reflect.Type; - -import com.google.gson.InstanceCreator; - -public final class HouseReservation extends Reservation implements InstanceCreator{ +public final class HouseReservation extends Reservation{ public final String ReservationType() { type = 'Z'; @@ -15,10 +11,4 @@ public final class HouseReservation extends Reservation implements InstanceCreat public float calculatePrice() { return 0.0f; } - - @Override - public Reservation createInstance(Type type) { - System.out.println( String.format( "%s.", this.type)); - return new HouseReservation(); - } } \ No newline at end of file diff --git a/src/java/lodge/reservationsystem/Reservation.java b/src/java/lodge/reservationsystem/Reservation.java index f40e92a..e82fab7 100644 --- a/src/java/lodge/reservationsystem/Reservation.java +++ b/src/java/lodge/reservationsystem/Reservation.java @@ -222,8 +222,6 @@ public abstract class Reservation{ public abstract String ReservationType(); - public abstract float calculatePrice(); - - public abstract Reservation createInstance(Type type); + public abstract float calculatePrice(); } diff --git a/src/resources/acc-A1450981765.json b/src/resources/acc-A1450981765.json new file mode 100644 index 0000000..33b38e7 --- /dev/null +++ b/src/resources/acc-A1450981765.json @@ -0,0 +1 @@ +{ "Account":{"account_number": "A1450981765","phone_number": "701-456-7890","mailing_address": { "Address":{"street": "10 wilco ave","city": "wilco","state": "WY","zip": "82801"}},"email_address": { "EmailAddress":{"email": "wilco@wyommin.net"}},"reservation_list":[{"HotelReservation":{"reservation_number":"R0123077641"}},{"CabinReservation":{"reservation_number":"R2042828431"}},{"HouseReservation":{"reservation_number":"R0499811708"}}]}} \ No newline at end of file diff --git a/src/resources/rsv-R0123077641.json b/src/resources/rsv-R0123077641.json new file mode 100644 index 0000000..4431d0f --- /dev/null +++ b/src/resources/rsv-R0123077641.json @@ -0,0 +1 @@ +{ "HotelReservation":{"reservation_type": "HotelReservation","reservation_number": "R0123077641","reservation_status": "Draft","reservation_start_date": "2025-07-05T10:00Z[UTC]","reservation_start_date": "2025-11-30T22:00Z[UTC]","physical_address": "{ "Address":{"street": "400 hotel ave","city": "Maryland City","state": "CA","zip": "20723"}}","mailing_address": "{ "Address":{"street": "400 hotel ave","city": "Maryland City","state": "MD","zip": "20723"}}","numberOfBeds": "3","numberOfBedRooms": "2","numberOfBathRooms": "1","numberOfFloors": "1","squareFeet": "450","price": "120.0"}} \ No newline at end of file diff --git a/src/resources/rsv-R0499811708.json b/src/resources/rsv-R0499811708.json new file mode 100644 index 0000000..f8a73e8 --- /dev/null +++ b/src/resources/rsv-R0499811708.json @@ -0,0 +1 @@ +{ "HouseReservation":{"reservation_type": "HouseReservation","reservation_number": "R0499811708","reservation_status": "Draft","reservation_start_date": "2025-07-05T10:00Z[UTC]","reservation_start_date": "2025-11-30T22:00Z[UTC]","physical_address": "{ "Address":{"street": "3000 Osage ave","city": "GreenBelt","state": "MD","zip": "20740"}}","mailing_address": "{ "Address":{"street": "40012 College ave","city": "College Park","state": "MD","zip": "20740"}}","numberOfBeds": "4","numberOfBedRooms": "3","numberOfBathRooms": "1","numberOfFloors": "3","squareFeet": "1400","price": "120.0"}} \ No newline at end of file diff --git a/src/resources/rsv-R2042828431.json b/src/resources/rsv-R2042828431.json new file mode 100644 index 0000000..0119417 --- /dev/null +++ b/src/resources/rsv-R2042828431.json @@ -0,0 +1 @@ +{ "CabinReservation":{"reservation_type": "CabinReservation","reservation_number": "R2042828431","reservation_status": "Canceled","reservation_start_date": "2025-07-05T10:00Z[UTC]","reservation_start_date": "2025-11-30T22:00Z[UTC]","physical_address": "{ "Address":{"street": "30 cabin ave","city": "Carnelian","state": "CA","zip": "96140"}}","mailing_address": "{ "Address":{"street": "40 cabin ave","city": "Carnelian Bay","state": "CA","zip": "96140"}}","numberOfBeds": "4","numberOfBedRooms": "3","numberOfBathRooms": "1","numberOfFloors": "2","squareFeet": "806","price": "120.0"}} \ No newline at end of file