Files
reservationsystem/src/java/lodge/TestReservations.java

81 lines
3.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package lodge;
import lodge.reservationsystem.AccomodationManager;
import lodge.reservationsystem.Account;
import lodge.reservationsystem.Address;
import lodge.reservationsystem.CabinReservation;
import lodge.reservationsystem.EmailAddress;
import lodge.reservationsystem.Reservation;
public final class TestReservations {
public static void main(String[] args) throws Exception {
AccomodationManager mgr = new AccomodationManager();
String home = System.getenv("HOMEDRIVE")+System.getenv("HOMEPATH");
home= home.replace("\\", "/") + "/data";
mgr.setDataStoreRoot(home);
// 1. Get the list of loaded accounts from Manager
mgr.loadAll();
// 2. Retrieve a loaded account object that matches a specific account number
mgr.retrieveAccount("A######");
// 3. Add new account object to the list managed by Manager (if account object
// already exists on add action with the same account number, it is considered
// an error)
Account acct = mgr.newAccount("767-456-7890",
new Address("10 wilco ave", "wilco", "WY", "82801"),
new EmailAddress("wilco@wyommin.net"));
mgr.AddAccount(acct);
// 4. Request that Manager updates specific accounts files with data stored in
// memory
mgr.UpdateAccount(mgr.retrieveAccount(acct.account_number()));
// 5. Add draft lodging reservation to an account (if reservation object already
// exists with the same reservation number, it is considered an error)
CabinReservation cabin = new CabinReservation();
cabin.setPhysical_address(new Address("30 cabin ave", "Carnelian", "CA", "96140"));
cabin.setMailing_address(new Address("40 cabin ave", "Carnelian Bay", "CA", "96140"));
cabin.setNumberOfBeds(4);
cabin.setNumberOfFloors(2);
cabin.setNumberOfBedRooms(3);
cabin.setSquareFeet(806);
mgr.addReservation( mgr.retrieveAccount(acct.account_number()), cabin);
Reservation rsrv = cabin;
String reservationId = rsrv.reservation_number();
// 6. Complete reservation that is associated with an account
rsrv = null;
rsrv = mgr.retreiveReservation(reservationId);
rsrv.Complete();
mgr.UpdateAccount(mgr.retrieveAccount(acct.account_number()));
// 7. Cancel reservation that is associated with an account
rsrv = mgr.retreiveReservation(reservationId);
rsrv.Cancel();
mgr.UpdateAccount(mgr.retrieveAccount(acct.account_number()));
/*
*
* if (rsrv != null) {
* // 8. Change reservation values that can be changed (if reservation is
* // cancelled, completed, or for past date, it is considered an error)
* rsrv = Reservation.update(rsrv);
*
* // 9. Request for price per night to be calculated and returned for a
* specific
* // reservation
*
* rsrv = Reservation.calculatePricePerNight(rsrv);
* // 10. Request for total reservation price to be calculated and returned for
* a
* // specific reservation
* }
*/
System.out.println("Program Completed.");
}
}