/** * Parks a vehicle on an available spot in the parking. The vehicle <em>drive</em> method to * simulate driving the vehicle from reception to the parking spot. * * @param vehicle The <em>Vehicle</em> to be parked. * @return An <em>ParkingTicket</em> that can be used to retrieve the parked vehicle from the * parking. */ public ParkingTicket parkVehicle(T vehicle) { ParkingTicket ticket = new ParkingTicket(vehicle); ParkingSpot<T> spot = getFreeSpot(); float distance = spot.getDistance(); vehicle.start(); vehicle.drive(distance); vehicle.stop(); spot.parkVehicle(vehicle); keyCupboard.put(ticket.getUniqueTicket(), spot); return ticket; }
/** * Retrieves a vehicle from the parking spot. * * @param ticket The <em>ticket</em> used to find the <em>Vehicle</em> in the parking. * @return The <em>Vehicle</em> that was parked. */ public T retrieveVehicle(ParkingTicket ticket) { ParkingSpot<T> spot; T vehicle; spot = keyCupboard.get(ticket.getUniqueTicket()); float distance = spot.getDistance(); vehicle = spot.unparkVehicle(); vehicle.start(); vehicle.drive(distance); vehicle.stop(); return vehicle; }
public void readTicket(String[] args) { BufferedReader ticketTest = null; String line = ""; try { ticketTest = new BufferedReader(new FileReader("src/test/resources/TicketTesting.txt")); while ((line = ticketTest.readLine()) != null) { String[] ticket = line.split(", "); ParkingTicket parkingTicket = new ParkingTicket(); parkingTicket.setUniqueId(); TicketValidation ticketValidation = new TicketValidation(ticket, parkingTicket); ticketValidation.validateTicket(); if (ticketValidation.getIsValid()) { TransactionManager newTransaction = new TransactionManager(parkingTicket); newTransaction.processTicket(); } else if (!ticketValidation.getIsValid()) { System.out.println(""); System.out.println("Error with ticket! " + ticketValidation.getErrorReporting()); } } } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(); } finally { if (ticketTest != null) { try { ticketTest.close(); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(); } } } System.out.println("\nDone"); }