This commit is contained in:
2025-09-14 11:56:57 -04:00
parent 48c142c573
commit a7892adaf7
10 changed files with 27 additions and 138 deletions

1
.gitignore vendored
View File

@@ -6,3 +6,4 @@ build
# Ignore bin
bin
.bevel/do_not_share

View File

@@ -1,3 +1,3 @@
Manifest-Version: 1.0
Main-Class: lodge.TestReservations
Class-Path: .
Class-Path: . com.google.gson

View File

@@ -128,6 +128,8 @@ public final class TestReservations {
rsrv = account.findReservation(house.getReservation_number());
rsrv.calculatePrice();
mgr.showReservationList();
System.out.println("Program Completed.");
}

View File

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

View File

@@ -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<Reservation> getAllReservations() {
return this.reservation_list.listIterator();
}
}

View File

@@ -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<Account> {
@@ -68,8 +68,9 @@ public class AccountList extends ArrayList<Account> {
public List<? extends Reservation> getListOfReservations() {
ArrayList<Reservation> readList = new ArrayList<Reservation>();
for (Account acct: this){
for (Reservation rsrv: acct.getAllReservations()){
readList.add(rsrv);
ListIterator<Reservation> itr = acct.getAllReservations();
while( itr.hasNext() ){
readList.add(itr.next());
}
}
return Collections.unmodifiableList(readList);

View File

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

View File

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

View File

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

View File

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