This commit is contained in:
2025-09-18 21:39:24 -04:00
parent 3dcbc6aa47
commit 55c278dcba
17 changed files with 507 additions and 517 deletions

View File

@@ -12,13 +12,14 @@ import lodge.data.Account;
import lodge.data.Address;
import lodge.data.DuplicateObjectException;
import lodge.data.EmailAddress;
import lodge.data.Reservation;
import lodge.data.ReservationStatusEnum;
import lodge.reservationsystem.AccomodationManager;
import lodge.reservationsystem.CabinReservation;
import lodge.reservationsystem.HotelReservation;
import lodge.reservationsystem.HouseReservation;
import lodge.reservationsystem.IReservation;
import lodge.reservation.Reservation;
import lodge.reservation.IReservation;
public final class TestReservations {
public static void main(String[] args) throws Exception {

View File

@@ -10,9 +10,11 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ListIterator;
import lodge.reservationsystem.IReservation;
import lodge.reservation.Reservation;
import lodge.reservation.IReservation;
public class Account {
private String account_number = "-99";

View File

@@ -10,7 +10,7 @@ import java.util.Collections;
import java.util.List;
import java.util.ListIterator;
import lodge.reservationsystem.IReservation;
import lodge.reservation.IReservation;
public class AccountList extends ArrayList<Account> {
@@ -37,8 +37,8 @@ public class AccountList extends ArrayList<Account> {
// save accounts in edit status
public void save(final Account acct) throws IOException {
if( acct == null ){
return;
if (acct == null) {
return;
}
Account.Write(acct);
}
@@ -55,12 +55,19 @@ public class AccountList extends ArrayList<Account> {
public List<? extends IReservation> getListOfReservations() {
ArrayList<IReservation> readList = new ArrayList<>();
for (Account acct: this){
for (Account acct : this) {
ListIterator<IReservation> itr = acct.getAllReservations();
while( itr.hasNext() ){
while (itr.hasNext()) {
readList.add(itr.next());
}
}
return Collections.unmodifiableList(readList);
}
public void showReservationList() {
for (IReservation irsrv : this.getListOfReservations()) {
System.out.println(String.format("Account %s: %s, %s", irsrv.getAccountNumber(),
irsrv.getReservation_number(), irsrv.getPhysical_address().getStreet()));
}
}
}

View File

@@ -6,7 +6,8 @@ package lodge.data;
import java.util.ArrayList;
import lodge.reservationsystem.IReservation;
import lodge.reservation.Reservation;
import lodge.reservation.IReservation;
class AccountReservationList extends ArrayList<IReservation> {

View File

@@ -17,6 +17,7 @@ import java.nio.file.attribute.BasicFileAttributes;
import java.time.ZonedDateTime;
import com.google.gson.stream.JsonReader;
import lodge.reservation.Reservation;
import lodge.reservationsystem.AccomodationManager;
import lodge.reservationsystem.CabinReservation;
@@ -45,11 +46,11 @@ public final class DataRepository {
public final static Reservation Reservation(String type) {
switch (type) {
case "HotelReservation":
return HotelReservation.copy(type);
return new HotelReservation();
case "HouseReservation":
return HouseReservation.copy(type);
return new HouseReservation();
case "CabinReservation":
return CabinReservation.copy(type);
return new CabinReservation();
}
return null;
}

View File

@@ -2,7 +2,7 @@
* license: GPLv3
* lodge.reservationsystem
*/
package lodge.reservationsystem;
package lodge.data;
public class IllegalOperationException extends RuntimeException {
public IllegalOperationException () {

View File

@@ -1,7 +1,6 @@
package lodge.reservationsystem;
package lodge.reservation;
import lodge.data.Address;
import lodge.data.Reservation;
public interface IReservation {

View File

@@ -2,7 +2,7 @@
* license: GPLv3
* lodge.reservationsystem
*/
package lodge.data;
package lodge.reservation;
import java.io.BufferedWriter;
import java.io.IOException;
@@ -12,10 +12,13 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.ZonedDateTime;
import lodge.reservationsystem.IReservation;
import lodge.reservationsystem.IllegalOperationException;
import lodge.data.Address;
import lodge.data.DataRepository;
import lodge.data.IllegalOperationException;
import lodge.data.KitchenTypeEnum;
import lodge.data.ReservationStatusEnum;
public abstract class Reservation {
public abstract class Reservation implements IReservation{
private char type;
private String reservation_number = "-99";
private Address physical_address;

View File

@@ -6,7 +6,6 @@ package lodge.reservationsystem;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -15,7 +14,8 @@ import lodge.data.AccountList;
import lodge.data.Address;
import lodge.data.DataRepository;
import lodge.data.EmailAddress;
import lodge.data.Reservation;
import lodge.reservation.Reservation;
import lodge.reservation.IReservation;
public final class AccomodationManager {
@@ -102,9 +102,7 @@ public final class AccomodationManager {
}
public void showReservationList() {
for (IReservation irsrv : this.getReservationList()) {
System.out.println(String.format("Account %s: %s, %s", irsrv.getAccountNumber(), irsrv.getReservation_number(), irsrv.getPhysical_address().getStreet()));
}
accounts.showReservationList();
}
}

View File

@@ -9,9 +9,9 @@ import java.time.temporal.ChronoUnit;
import lodge.data.Address;
import lodge.data.KitchenTypeEnum;
import lodge.data.Reservation;
import lodge.reservation.Reservation;
public final class CabinReservation extends Reservation implements IReservation {
public final class CabinReservation extends Reservation {
public CabinReservation() {
this.setType('C');
@@ -19,10 +19,6 @@ public final class CabinReservation extends Reservation implements IReservation
this.setKitchen(KitchenTypeEnum.Kitchenette);
}
public static Reservation copy(String reservationType) {
return new CabinReservation();
}
public CabinReservation(final Address physical_address) {
this();
this.setPhysical_address(

View File

@@ -10,9 +10,9 @@ import java.time.temporal.ChronoUnit;
import lodge.data.Address;
import lodge.data.KitchenTypeEnum;
import lodge.data.Reservation;
import lodge.reservation.Reservation;
public final class HotelReservation extends Reservation implements IReservation{
public final class HotelReservation extends Reservation{
public HotelReservation() {
this.setType('H');

View File

@@ -9,9 +9,9 @@ import java.time.temporal.ChronoUnit;
import lodge.data.Address;
import lodge.data.KitchenTypeEnum;
import lodge.data.Reservation;
import lodge.reservation.Reservation;
public final class HouseReservation extends Reservation implements IReservation {
public final class HouseReservation extends Reservation {
public HouseReservation() {
this.setType('Z');