This commit is contained in:
2025-09-03 10:12:45 -04:00
parent d0a1567fd2
commit 6ed7e47640
10 changed files with 17 additions and 38 deletions

View File

@@ -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;

View File

@@ -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<Reservation>{
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();
}
}

View File

@@ -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();

View File

@@ -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<Reservation>{
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();
}
}

View File

@@ -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<Reservation>{
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();
}
}

View File

@@ -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();
}

View File

@@ -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"}}]}}

View File

@@ -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"}}

View File

@@ -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"}}

View File

@@ -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"}}