Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scotiaairlines.models;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.HashMap;
- import java.util.Map;
- public class Airline {
- private HashMap<String, Flight> flights;
- public Airline(){
- HashMap<String, Flight> flights = new HashMap<String, Flight>();
- }
- //Getter
- public HashMap<String, Flight> getFlights(){return flights;}
- ///Adds new flights
- public void AddFlight(Flight fli)
- {
- if(flights.containsKey(fli.getFlightNumber()))
- {
- System.out.println("--Flight " + fli + " Found--");
- System.out.println("Flight Already Exists");
- }
- else
- {
- flights.put(fli.getFlightNumber(), fli);
- System.out.println("Flight Added");
- }
- }
- public Seat getSeat(String FlightNo, String SeatNo){
- if (flights.containsKey(FlightNo))
- {
- Flight currentFlight = flights.get(FlightNo);
- if (currentFlight.getSeats().containsKey(SeatNo))
- {
- Seat tempSeat = currentFlight.getSeats().get(SeatNo);
- return tempSeat;
- }
- else
- {
- Seat tempSeat = new Seat(SeatNo);
- currentFlight.getSeats().put(SeatNo, tempSeat);
- return tempSeat;
- }
- }
- else
- {
- return null;
- }
- }
- public void LoadFlightsFromDb()
- {
- try
- {
- Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
- Connection conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\object oriernted porgramming\\ScotiaAirlines\\Airlines.accdb");
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery("SELECT * FROM Flight");
- while(rs.next())
- {
- String flightNumber = rs.getString(1);
- String departure = rs.getString(2);
- String arrival = rs.getString(3);
- int rows = rs.getInt(4);
- int columns = rs.getInt(5);
- Flight loadedFlight = new Flight(rows, columns);
- AddFlight(loadedFlight);
- }
- }
- catch(Exception ex)
- {
- String message = ex.getMessage();
- }
- }
- public void SaveSeatsAndPassengersToDb()
- {
- try
- {
- Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
- Connection conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\object oriernted porgramming\\ScotiaAirlines\\Airlines.accdb");
- Statement stmt = conn.createStatement();
- for(Map.Entry<String, Flight> f : flights.entrySet())
- {
- Flight flight = f.getValue();
- String passengerType = "";
- String passengerInfo = "";
- String passengerName = "";
- if(seat.getPassenger()!=null)
- {
- if(seat.getPassenger().getClass()== (new BusinessTraveller().getClass()))
- {
- passengerType="B";
- passengerInfo = ((BusinessTraveller)seat.getPassenger()).getCompanyName();
- passengerName = seat.getPassenger().getPassengerName();
- }
- else if(seat.getPassenger().getClass()== (new IslandResident().getClass()))
- {
- passengerType="I";
- passengerInfo = ((IslandResident)seat.getPassenger()).getIslandOfResidence();
- passengerName = seat.getPassenger().getPassengerName();
- }
- else
- {
- passengerType = "O";
- passengerInfo = String.valueOf(((OrdinaryPassenger)seat.getPassenger()).getCurrentPromotion());
- passengerName = seat.getPassenger().getPassengerName();
- }
- }
- }
- stmt.executeUpdate("INSERT INTO Seat VALUES ('"+seat.getSeatNumber() +"' '" + seat.getCurrentStatus() + "' '" + seat.getSeatTakings() + "' '" + flight.getFlightNumber() +"')");
- }
- }
- }
- }
- catch(Exception ex)
- {
- String message = ex.getMessage();
- }
- public void LoadSeatsFromDb()
- {
- try
- {
- Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
- Connection conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\object oriernted porgramming\\ScotiaAirlines\\Airlines.accdb");
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery("SELECT * FROM Seats");
- while(rs.next())
- {
- String SeatNo = rs.getString(1);
- int currentStatus = rs.getInt(2);
- int seatTakings = rs.getInt(3);
- String FlightID = rs.getString(4);
- Seat loadedSeat = getSeat(FlightID, SeatNo);
- loadedSeat.setcurrentStatus(currentStatus);
- loadedSeat.setSeatTakings(seatTakings);
- }
- }
- catch(Exception ex)
- {
- String message = ex.getMessage();
- }
- }
- public void LoadPassengersFromDb()
- {
- try
- {
- Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
- Connection conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\object oriernted porgramming\\ScotiaAirlines\\Airlines.accdb");
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery("SELECT * FROM Passenger");
- while(rs.next())
- {
- String passengerInfo = rs.getString(1);
- String passengerType = rs.getString(2);
- String seatNo = rs.getString(3);
- String passengerName = rs.getString(4);
- String FlightID = rs.getString(5);
- Seat loadedSeat = getSeat(FlightID, SeatNo);
- int fullSeatStatus = loadedSeat.changeSeatStatus(loadedSeat.getCurrentStatus(), loadedSeat.getSeatTakings(),passengerName, passengerType.charAt(0),passengerInfo);
- Flight loadedFlight = flights.get(FlightID);
- loadedFlight.updateSeat(fullSeatStatus);
- loadedFlight.calculateTotalFlightTakings();
- }
- }
- catch(Exception ex)
- {
- String message = ex.getMessage();
- }
- }
- public void clearSeatsAndPassengersFromDb() {
- // TODO Auto-generated method stub
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement