public void doRentDVD(StaffData staff_data, CustomerData customer_data, DVDData DVD_data) { if (staff_data.getID() == 0 || customer_data.getID() == 0 || DVD_data.getID() == 0) { setMessage("Enter staff, customer and DVD IDs first"); return; } try { // populate objects staff_data = getStaffManager().findStaff(staff_data.getID()); customer_data = getCustomerManager().findCustomer(customer_data.getID()); DVD_data = getDVDManager().findDVD(DVD_data.getID()); // has customer asked for this DVD?? RentalData rental = getRentalManager().findRental(customer_data.getID(), DVD_data.getID(), null); if (rental != null) { if (rental.getDispatched() != null && !rental.getDispatched().equals("null")) { setMessage("Already dispatched to customer on " + rental.getDispatched()); return; } try { // need to do begin transaction... DVDStoreFactory.getInstance().begin(); // indicate sent to customer & by whom rental.setStaffID(staff_data.getID()); rental.setDispatched(DVDStoreFactory.getTodayDate()); getRentalManager().dispatchDVD(rental); // indicate number of copies available now reduced by 1 - should change to do on REQUEST // !!! DVD_data.setNumCopies(DVD_data.getNumCopies() - 1); getDVDManager().updateDVD(DVD_data); // need to do commit transaction... DVDStoreFactory.getInstance().commit(); setMessage("Rented DVD"); } catch (Exception e) { setMessage("Couldn't rent DVD: exception: " + e); try { // need to do rollback of transaction... DVDStoreFactory.getInstance().rollback(); } catch (Exception e2) { setMessage("*** Couldn't roll back transaction: " + e); } } } else setMessage("This DVD not requested by customer!"); } catch (Exception e) { setMessage("Couldn't check DVD: exception:" + e); } }
public void doReturnDVD(StaffData staff_data, CustomerData customer_data, DVDData DVD_data) { if (staff_data.getID() == 0 || customer_data.getID() == 0 || DVD_data.getID() == 0) { setMessage("Enter staff, customer and DVD IDs first"); return; } try { // populate objects... staff_data = getStaffManager().findStaff(staff_data.getID()); customer_data = getCustomerManager().findCustomer(customer_data.getID()); DVD_data = getDVDManager().findDVD(DVD_data.getID()); // has customer rented this DVD? RentalData rental_data = getRentalManager().findRental(customer_data.getID(), DVD_data.getID(), null); if (rental_data == null || !rental_data.getReturned().equals("null")) setMessage("This DVD not rented by this customer!"); else { try { // begin transaction... DVDStoreFactory.getInstance().begin(); rental_data.setReturned(DVDStoreFactory.getTodayDate()); getRentalManager().returnDVD(rental_data); DVD_data.setNumCopies(DVD_data.getNumCopies() + 1); getDVDManager().updateDVD(DVD_data); // need to commit transaction... DVDStoreFactory.getInstance().commit(); setMessage("Returned DVD"); } catch (Exception e) { setMessage("Couldn't return DVD: exception " + e); try { // need to rollback transaction DVDStoreFactory.getInstance().rollback(); } catch (Exception e2) { setMessage("Couldn't rollback transaction: exception " + e); } } } } catch (Exception e) { setMessage("couldn't check DVD record: " + e); } }
public RentalManager getRentalManager() { if (rental_manager == null) rental_manager = DVDStoreFactory.getInstance().getRentalManager(); return rental_manager; }
public DVDManager getDVDManager() { if (DVD_manager == null) DVD_manager = DVDStoreFactory.getInstance().getDVDManager(); return DVD_manager; }
public CustomerManager getCustomerManager() { if (customer_manager == null) { customer_manager = DVDStoreFactory.getInstance().getCustomerManager(); } return customer_manager; }
public StaffManager getStaffManager() { if (staff_manager == null) staff_manager = DVDStoreFactory.getInstance().getStaffManager(); return staff_manager; }
/** * Title: Description: Copyright: Copyright (c) 2001 Company: * * @author * @version 1.0 */ public class RentalInterface implements Serializable { /** */ private static final long serialVersionUID = 2778779912627434237L; public RentalInterface() {} private transient StaffManager staff_manager = DVDStoreFactory.getInstance().getStaffManager(); private transient CustomerManager customer_manager = DVDStoreFactory.getInstance().getCustomerManager(); private transient DVDManager DVD_manager = DVDStoreFactory.getInstance().getDVDManager(); private transient RentalManager rental_manager = DVDStoreFactory.getInstance().getRentalManager(); public StaffManager getStaffManager() { if (staff_manager == null) staff_manager = DVDStoreFactory.getInstance().getStaffManager(); return staff_manager; } public CustomerManager getCustomerManager() { if (customer_manager == null) { customer_manager = DVDStoreFactory.getInstance().getCustomerManager(); } return customer_manager; } public DVDManager getDVDManager() { if (DVD_manager == null) DVD_manager = DVDStoreFactory.getInstance().getDVDManager(); return DVD_manager; } public RentalManager getRentalManager() { if (rental_manager == null) rental_manager = DVDStoreFactory.getInstance().getRentalManager(); return rental_manager; } public void processRequest( String action, StaffData staff_data, CustomerData customer_data, DVDData DVD_data) { if (action == null) { setMessage(""); return; } if (action.equals("findStaff")) doFindStaff(staff_data); else if (action.equals("findCustomer")) doFindCustomer(customer_data); else if (action.equals("findDVD")) doFindDVD(DVD_data); else if (action.equals("rentDVD")) doRentDVD(staff_data, customer_data, DVD_data); else if (action.equals("returnDVD")) doReturnDVD(staff_data, customer_data, DVD_data); else setMessage("Unknown action " + action); } private String message = ""; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public void doFindStaff(StaffData staff_data) { try { if (staff_data.getID() == 0) { setMessage("Enter your staff ID"); staff_data.setID(0); return; } if (staff_data.getPassword().equals("")) { setMessage("Enter your password"); staff_data.setID(0); return; } StaffData s2 = getStaffManager().findStaff(staff_data.getID()); if (s2 != null) { if (s2.matchesPassword(staff_data.getPassword())) { setMessage("Found staff member"); staff_data.setName(s2.getName()); } else setMessage("That password is incorrect"); } else setMessage("Can't find that staff record"); } catch (Exception e) { setMessage("Error finding staff: " + e.toString()); staff_data.setID(0); } } public void doFindCustomer(CustomerData customer_data) { if (customer_data.getID() == 0) { setMessage("Enter customer ID"); customer_data.setID(0); return; } try { CustomerData c2 = getCustomerManager().findCustomer(customer_data.getID()); if (c2 != null) { setMessage("Customer found"); customer_data.setName(c2.getName()); customer_data.setAddress(c2.getAddress()); } else { setMessage("Can't find that customer record"); } } catch (Exception e) { setMessage("Error looking up customer: " + e.toString()); customer_data.setID(0); } } public void doFindDVD(DVDData DVD_data) { if (DVD_data.getID() == 0) { setMessage("Enter DVD ID"); DVD_data.setID(0); return; } try { DVDData v2 = getDVDManager().findDVD(DVD_data.getID()); if (v2 != null) { setMessage("DVD found"); DVD_data.setTitle(v2.getTitle()); } else { setMessage("Can't find that DVD record"); } } catch (Exception e) { setMessage("Error looking up DVD: " + e.toString()); DVD_data.setID(0); } } public void doRentDVD(StaffData staff_data, CustomerData customer_data, DVDData DVD_data) { if (staff_data.getID() == 0 || customer_data.getID() == 0 || DVD_data.getID() == 0) { setMessage("Enter staff, customer and DVD IDs first"); return; } try { // populate objects staff_data = getStaffManager().findStaff(staff_data.getID()); customer_data = getCustomerManager().findCustomer(customer_data.getID()); DVD_data = getDVDManager().findDVD(DVD_data.getID()); // has customer asked for this DVD?? RentalData rental = getRentalManager().findRental(customer_data.getID(), DVD_data.getID(), null); if (rental != null) { if (rental.getDispatched() != null && !rental.getDispatched().equals("null")) { setMessage("Already dispatched to customer on " + rental.getDispatched()); return; } try { // need to do begin transaction... DVDStoreFactory.getInstance().begin(); // indicate sent to customer & by whom rental.setStaffID(staff_data.getID()); rental.setDispatched(DVDStoreFactory.getTodayDate()); getRentalManager().dispatchDVD(rental); // indicate number of copies available now reduced by 1 - should change to do on REQUEST // !!! DVD_data.setNumCopies(DVD_data.getNumCopies() - 1); getDVDManager().updateDVD(DVD_data); // need to do commit transaction... DVDStoreFactory.getInstance().commit(); setMessage("Rented DVD"); } catch (Exception e) { setMessage("Couldn't rent DVD: exception: " + e); try { // need to do rollback of transaction... DVDStoreFactory.getInstance().rollback(); } catch (Exception e2) { setMessage("*** Couldn't roll back transaction: " + e); } } } else setMessage("This DVD not requested by customer!"); } catch (Exception e) { setMessage("Couldn't check DVD: exception:" + e); } } public void doReturnDVD(StaffData staff_data, CustomerData customer_data, DVDData DVD_data) { if (staff_data.getID() == 0 || customer_data.getID() == 0 || DVD_data.getID() == 0) { setMessage("Enter staff, customer and DVD IDs first"); return; } try { // populate objects... staff_data = getStaffManager().findStaff(staff_data.getID()); customer_data = getCustomerManager().findCustomer(customer_data.getID()); DVD_data = getDVDManager().findDVD(DVD_data.getID()); // has customer rented this DVD? RentalData rental_data = getRentalManager().findRental(customer_data.getID(), DVD_data.getID(), null); if (rental_data == null || !rental_data.getReturned().equals("null")) setMessage("This DVD not rented by this customer!"); else { try { // begin transaction... DVDStoreFactory.getInstance().begin(); rental_data.setReturned(DVDStoreFactory.getTodayDate()); getRentalManager().returnDVD(rental_data); DVD_data.setNumCopies(DVD_data.getNumCopies() + 1); getDVDManager().updateDVD(DVD_data); // need to commit transaction... DVDStoreFactory.getInstance().commit(); setMessage("Returned DVD"); } catch (Exception e) { setMessage("Couldn't return DVD: exception " + e); try { // need to rollback transaction DVDStoreFactory.getInstance().rollback(); } catch (Exception e2) { setMessage("Couldn't rollback transaction: exception " + e); } } } } catch (Exception e) { setMessage("couldn't check DVD record: " + e); } } }