Advertisement
Guest User

Untitled

a guest
Mar 16th, 2017
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.61 KB | None | 0 0
  1. package scotiaairlines.models;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.Statement;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9.  
  10.  
  11.  
  12.  
  13. public class Airline {
  14.  
  15. private HashMap<String, Flight> flights;
  16.  
  17.  
  18.  
  19. public Airline(){
  20.  
  21. HashMap<String, Flight> flights = new HashMap<String, Flight>();
  22. }
  23.  
  24. //Getter
  25. public HashMap<String, Flight> getFlights(){return flights;}
  26.  
  27.  
  28. ///Adds new flights
  29. public void AddFlight(Flight fli)
  30. {
  31. if(flights.containsKey(fli.getFlightNumber()))
  32. {
  33.  
  34. System.out.println("--Flight " + fli + " Found--");
  35. System.out.println("Flight Already Exists");
  36. }
  37. else
  38. {
  39.  
  40. flights.put(fli.getFlightNumber(), fli);
  41. System.out.println("Flight Added");
  42. }
  43. }
  44.  
  45.  
  46.  
  47. public Seat getSeat(String FlightNo, String SeatNo){
  48. if (flights.containsKey(FlightNo))
  49. {
  50. Flight currentFlight = flights.get(FlightNo);
  51. if (currentFlight.getSeats().containsKey(SeatNo))
  52. {
  53. Seat tempSeat = currentFlight.getSeats().get(SeatNo);
  54. return tempSeat;
  55. }
  56. else
  57. {
  58. Seat tempSeat = new Seat(SeatNo);
  59. currentFlight.getSeats().put(SeatNo, tempSeat);
  60.  
  61. return tempSeat;
  62. }
  63. }
  64. else
  65. {
  66. return null;
  67. }
  68.  
  69. }
  70.  
  71. public void LoadFlightsFromDb()
  72. {
  73. try
  74. {
  75. Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
  76. Connection conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\object oriernted porgramming\\ScotiaAirlines\\Airlines.accdb");
  77. Statement stmt = conn.createStatement();
  78. ResultSet rs = stmt.executeQuery("SELECT * FROM Flight");
  79.  
  80.  
  81. while(rs.next())
  82. {
  83. String flightNumber = rs.getString(1);
  84. String departure = rs.getString(2);
  85. String arrival = rs.getString(3);
  86. int rows = rs.getInt(4);
  87. int columns = rs.getInt(5);
  88.  
  89. Flight loadedFlight = new Flight(rows, columns);
  90. AddFlight(loadedFlight);
  91. }
  92. }
  93.  
  94. catch(Exception ex)
  95. {
  96. String message = ex.getMessage();
  97. }
  98.  
  99. }
  100.  
  101.  
  102.  
  103.  
  104.  
  105. public void SaveSeatsAndPassengersToDb()
  106. {
  107. try
  108. {
  109. Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
  110. Connection conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\object oriernted porgramming\\ScotiaAirlines\\Airlines.accdb");
  111. Statement stmt = conn.createStatement();
  112.  
  113. for(Map.Entry<String, Flight> f : flights.entrySet())
  114. {
  115. Flight flight = f.getValue();
  116. String passengerType = "";
  117. String passengerInfo = "";
  118. String passengerName = "";
  119. if(seat.getPassenger()!=null)
  120. {
  121. if(seat.getPassenger().getClass()== (new BusinessTraveller().getClass()))
  122. {
  123. passengerType="B";
  124. passengerInfo = ((BusinessTraveller)seat.getPassenger()).getCompanyName();
  125. passengerName = seat.getPassenger().getPassengerName();
  126.  
  127. }
  128. else if(seat.getPassenger().getClass()== (new IslandResident().getClass()))
  129. {
  130. passengerType="I";
  131. passengerInfo = ((IslandResident)seat.getPassenger()).getIslandOfResidence();
  132. passengerName = seat.getPassenger().getPassengerName();
  133. }
  134. else
  135. {
  136. passengerType = "O";
  137. passengerInfo = String.valueOf(((OrdinaryPassenger)seat.getPassenger()).getCurrentPromotion());
  138. passengerName = seat.getPassenger().getPassengerName();
  139. }
  140. }
  141. }
  142. stmt.executeUpdate("INSERT INTO Seat VALUES ('"+seat.getSeatNumber() +"' '" + seat.getCurrentStatus() + "' '" + seat.getSeatTakings() + "' '" + flight.getFlightNumber() +"')");
  143. }
  144. }
  145. }
  146. }
  147.  
  148. catch(Exception ex)
  149. {
  150. String message = ex.getMessage();
  151. }
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158. public void LoadSeatsFromDb()
  159. {
  160. try
  161. {
  162. Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
  163. Connection conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\object oriernted porgramming\\ScotiaAirlines\\Airlines.accdb");
  164. Statement stmt = conn.createStatement();
  165. ResultSet rs = stmt.executeQuery("SELECT * FROM Seats");
  166.  
  167.  
  168. while(rs.next())
  169. {
  170. String SeatNo = rs.getString(1);
  171. int currentStatus = rs.getInt(2);
  172. int seatTakings = rs.getInt(3);
  173. String FlightID = rs.getString(4);
  174.  
  175.  
  176. Seat loadedSeat = getSeat(FlightID, SeatNo);
  177. loadedSeat.setcurrentStatus(currentStatus);
  178. loadedSeat.setSeatTakings(seatTakings);
  179. }
  180. }
  181.  
  182. catch(Exception ex)
  183. {
  184. String message = ex.getMessage();
  185. }
  186.  
  187. }
  188.  
  189.  
  190. public void LoadPassengersFromDb()
  191. {
  192. try
  193. {
  194. Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
  195. Connection conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\object oriernted porgramming\\ScotiaAirlines\\Airlines.accdb");
  196. Statement stmt = conn.createStatement();
  197. ResultSet rs = stmt.executeQuery("SELECT * FROM Passenger");
  198.  
  199.  
  200. while(rs.next())
  201. {
  202. String passengerInfo = rs.getString(1);
  203. String passengerType = rs.getString(2);
  204. String seatNo = rs.getString(3);
  205. String passengerName = rs.getString(4);
  206. String FlightID = rs.getString(5);
  207.  
  208.  
  209. Seat loadedSeat = getSeat(FlightID, SeatNo);
  210. int fullSeatStatus = loadedSeat.changeSeatStatus(loadedSeat.getCurrentStatus(), loadedSeat.getSeatTakings(),passengerName, passengerType.charAt(0),passengerInfo);
  211.  
  212. Flight loadedFlight = flights.get(FlightID);
  213. loadedFlight.updateSeat(fullSeatStatus);
  214. loadedFlight.calculateTotalFlightTakings();
  215. }
  216. }
  217.  
  218. catch(Exception ex)
  219. {
  220. String message = ex.getMessage();
  221. }
  222.  
  223. }
  224.  
  225. public void clearSeatsAndPassengersFromDb() {
  226. // TODO Auto-generated method stub
  227.  
  228. }
  229.  
  230.  
  231.  
  232.  
  233.  
  234. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement