From a7892adaf77f83c115969bbe20179307652fdbf5 Mon Sep 17 00:00:00 2001 From: Sherwin Price Date: Sun, 14 Sep 2025 11:56:57 -0400 Subject: [PATCH] update --- .gitignore | 3 +- src/META-INF/MANIFEST.MF | 2 +- src/java/lodge/TestReservations.java | 2 + .../AccomodationManager.java | 11 ++++++ src/java/lodge/reservationsystem/Account.java | 8 ++-- .../lodge/reservationsystem/AccountList.java | 7 ++-- src/resources/acc-A1450981765.json | 37 +------------------ src/resources/acc-A2074212339.json | 27 +------------- src/resources/rsv-R0499811708.json | 34 +---------------- src/resources/rsv-R0535276622.json | 34 +---------------- 10 files changed, 27 insertions(+), 138 deletions(-) diff --git a/.gitignore b/.gitignore index 4924758..4492f88 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ build # Ignore bin -bin \ No newline at end of file +bin +.bevel/do_not_share \ No newline at end of file diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF index 22fc519..79eeaf2 100644 --- a/src/META-INF/MANIFEST.MF +++ b/src/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 Main-Class: lodge.TestReservations -Class-Path: . \ No newline at end of file +Class-Path: . com.google.gson \ No newline at end of file diff --git a/src/java/lodge/TestReservations.java b/src/java/lodge/TestReservations.java index 6402428..869b78d 100644 --- a/src/java/lodge/TestReservations.java +++ b/src/java/lodge/TestReservations.java @@ -128,6 +128,8 @@ public final class TestReservations { rsrv = account.findReservation(house.getReservation_number()); rsrv.calculatePrice(); + mgr.showReservationList(); + System.out.println("Program Completed."); } diff --git a/src/java/lodge/reservationsystem/AccomodationManager.java b/src/java/lodge/reservationsystem/AccomodationManager.java index 475c529..64a6ad0 100644 --- a/src/java/lodge/reservationsystem/AccomodationManager.java +++ b/src/java/lodge/reservationsystem/AccomodationManager.java @@ -1,5 +1,6 @@ package lodge.reservationsystem; +import java.util.List; import java.nio.file.Path; import java.nio.file.Paths; @@ -83,4 +84,14 @@ public final class AccomodationManager { return rsrv; } + public List getReservationList() { + return account_list.getListOfReservations(); + } + + public void showReservationList() { + for (Reservation rsrv : this.getReservationList()) { + System.out.println(String.format("Account %s:, %s", rsrv.getAccountNumber(), rsrv.getReservation_number())); + } + } + } \ No newline at end of file diff --git a/src/java/lodge/reservationsystem/Account.java b/src/java/lodge/reservationsystem/Account.java index f0611f7..9761e63 100644 --- a/src/java/lodge/reservationsystem/Account.java +++ b/src/java/lodge/reservationsystem/Account.java @@ -6,8 +6,7 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; - -import java.util.Collections; +import java.util.ListIterator; public class Account { private String account_number = "-99"; @@ -146,9 +145,8 @@ public class Account { this.setMailing_address(acct.mailing_address); } - public Reservation[] getAllReservations() { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getAllReservations'"); + public ListIterator getAllReservations() { + return this.reservation_list.listIterator(); } } \ No newline at end of file diff --git a/src/java/lodge/reservationsystem/AccountList.java b/src/java/lodge/reservationsystem/AccountList.java index 8c3c2c3..029f204 100644 --- a/src/java/lodge/reservationsystem/AccountList.java +++ b/src/java/lodge/reservationsystem/AccountList.java @@ -1,10 +1,10 @@ package lodge.reservationsystem; import java.io.IOException; -import java.lang.classfile.Superclass; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.ListIterator; public class AccountList extends ArrayList { @@ -68,8 +68,9 @@ public class AccountList extends ArrayList { public List getListOfReservations() { ArrayList readList = new ArrayList(); for (Account acct: this){ - for (Reservation rsrv: acct.getAllReservations()){ - readList.add(rsrv); + ListIterator itr = acct.getAllReservations(); + while( itr.hasNext() ){ + readList.add(itr.next()); } } return Collections.unmodifiableList(readList); diff --git a/src/resources/acc-A1450981765.json b/src/resources/acc-A1450981765.json index c30b49f..aa6c3e3 100755 --- a/src/resources/acc-A1450981765.json +++ b/src/resources/acc-A1450981765.json @@ -1,36 +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": "R0535276622" - } - }, - { - "HouseReservation": { - "reservation_number": "R0499811708" - } - } - ] - } -} \ No newline at end of file +{ "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":"R0535276622"}},{"HouseReservation":{"reservation_number":"R0499811708"}}]}} \ No newline at end of file diff --git a/src/resources/acc-A2074212339.json b/src/resources/acc-A2074212339.json index 6eaf084..c845682 100644 --- a/src/resources/acc-A2074212339.json +++ b/src/resources/acc-A2074212339.json @@ -1,26 +1 @@ -{ - "Account": { - "account_number": "A2074212339", - "phone_number": "301-356-3890", - "mailing_address": { - "Address": { - "street": "30 Amstadam ave", - "city": "New York", - "state": "NY", - "zip": "12010" - } - }, - "email_address": { - "EmailAddress": { - "email": "newbee952@aol.com" - } - }, - "reservation_list": [ - { - "CabinReservation": { - "reservation_number": "R2042828431" - } - } - ] - } -} \ No newline at end of file +{ "Account":{"account_number": "A2074212339","phone_number": "301-356-3890","mailing_address": { "Address":{"street": "30 Amstadam ave","city": "New York","state": "NY","zip": "12010"}},"email_address": { "EmailAddress":{"email": "newbee952@aol.com"}},"reservation_list":[{"CabinReservation":{"reservation_number":"R2042828431"}}]}} \ No newline at end of file diff --git a/src/resources/rsv-R0499811708.json b/src/resources/rsv-R0499811708.json index b060460..7523961 100755 --- a/src/resources/rsv-R0499811708.json +++ b/src/resources/rsv-R0499811708.json @@ -1,33 +1 @@ -{ - "HouseReservation": { - "reservation_type": "HouseReservation", - "reservation_number": "R0499811708", - "reservation_status": "Completed", - "reservation_start_date": "2025-09-05T10:00Z[UTC]", - "reservation_end_date": "2025-11-30T22:00Z[UTC]", - "account_number": "A1450981765", - "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" - } - }, - "kitchen": "Kitchenette", - "numberOfBeds": "4", - "numberOfBedRooms": "3", - "numberOfBathRooms": "1", - "numberOfFloors": "3", - "squareFeet": "1400", - "price": "11475.0" - } -} \ No newline at end of file +{ "HouseReservation":{"reservation_type": "HouseReservation","reservation_number": "R0499811708","reservation_status": "Completed","reservation_start_date": "2025-09-05T10:00Z[UTC]","reservation_end_date": "2025-11-30T22:00Z[UTC]","account_number": "A1450981765","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"}},"kitchen": "Kitchenette","numberOfBeds": "4","numberOfBedRooms": "3","numberOfBathRooms": "1","numberOfFloors": "3","squareFeet": "1400","price": "11475.0"}} \ No newline at end of file diff --git a/src/resources/rsv-R0535276622.json b/src/resources/rsv-R0535276622.json index d9a61b7..9f12977 100644 --- a/src/resources/rsv-R0535276622.json +++ b/src/resources/rsv-R0535276622.json @@ -1,33 +1 @@ -{ - "CabinReservation": { - "reservation_type": "CabinReservation", - "reservation_number": "R0535276622", - "reservation_status": "Draft", - "reservation_start_date": "2025-09-05T10:00Z[UTC]", - "reservation_end_date": "2025-11-30T22:00Z[UTC]", - "account_number": "A1450981765", - "physical_address": { - "Address": { - "street": "40 cabin ave", - "city": "Carnelian", - "state": "CA", - "zip": "96140" - } - }, - "mailing_address": { - "Address": { - "street": "40 cabin ave", - "city": "Carnelian Bay", - "state": "CA", - "zip": "96140" - } - }, - "kitchen": "Kitchenette", - "numberOfBeds": "4", - "numberOfBedRooms": "3", - "numberOfBathRooms": "1", - "numberOfFloors": "2", - "squareFeet": "806", - "price": "120.0" - } -} \ No newline at end of file +{ "CabinReservation":{"reservation_type": "CabinReservation","reservation_number": "R0535276622","reservation_status": "Draft","reservation_start_date": "2025-09-05T10:00Z[UTC]","reservation_end_date": "2025-11-30T22:00Z[UTC]","account_number": "A1450981765","physical_address": { "Address":{"street": "40 cabin ave","city": "Carnelian","state": "CA","zip": "96140"}},"mailing_address": { "Address":{"street": "40 cabin ave","city": "Carnelian Bay","state": "CA","zip": "96140"}},"kitchen": "Kitchenette","numberOfBeds": "4","numberOfBedRooms": "3","numberOfBathRooms": "1","numberOfFloors": "2","squareFeet": "806","price": "120.0"}} \ No newline at end of file