Class GetSchedule
java.lang.Object
org.deltava.dao.DAO
org.deltava.dao.GetSchedule
- Direct Known Subclasses:
GetScheduleSearch
A Data Access Object to search the Flight Schedule.
- Since:
- 1.0
- Version:
- 11.2
- Author:
- Luke
-
Field Summary
Fields inherited from class DAO
_queryMax, _queryStart, _queryTimeout, WGS84_SRIDModifier and TypeFieldDescriptionprotected intThe maximum number of rows to return.protected intThe row number at which to start returning results.protected intThe query timeout, in seconds.protected static final intThe SRID used for geolocation queries. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected List<ScheduleEntry> Helper method to parse schedule entry result sets.export()Exports the entire Flight Schedule.Return a particular flight from the Schedule database.Return a particular flight from the Schedule database.Returns Airports only serviced by Flight Academy flights.getAirlines(RoutePair rp) Returns the Airlines that provide service on a particular route.getFlightNumber(RoutePair rp, String dbName) Returns the lowest flight/leg number between two airports.getFlightNumber(ScheduleRoute sr, int hourOfDay, String dbName) Returns the most appropriate flight/leg number between two airports.Returns all flights from a particular airport, sorted by Airline and Flight Number.getFlights(Airport a, Airline al) Returns all flights from a particular airport with a particular airline, sorted by Airline and Flight Number.getFlightTime(RoutePair rp, String dbName) Returns the average flight time for all flights in the Schedule database between two airports.getRoutePairs(Inclusion includeHistoric) Returns all Airports and the Airports they are directly connected to.voidSets the raw schedule sources in use, for DST calculatiuons.Methods inherited from class DAO
commitTransaction, createTimestamp, executeIDs, executeUpdate, executeUpdate, expandDate, formatDBName, formatLocation, getNewID, getQueryCount, prepare, prepareWithoutLimits, rollbackTransaction, setQueryMax, setQueryStart, setQueryTimeout, startTransaction, toID, toID, toInstantModifier and TypeMethodDescriptionprotected voidCommits a multi-step transaction to the database.protected static TimestampNull-safe conversion of an Instant to a Timestamp.Helper method to extract database ID data from the result set.protected static intexecuteUpdate(PreparedStatement ps, int minUpdateCount) Executes an UPDATE transaction on a prepared statement, and throws aSQLExceptionif less than the expected number of rows were updated.protected static intexecuteUpdate(PreparedStatement ps, int minPerUpdate, int minTotal) Executes an batched UPDATE transaction on a prepared statement, and throws aSQLExceptionif less than the expected number of rows were updated per batch entry.protected static InstantexpandDate(Date dt) Converts a date-only JDBC value into a full timestamp.protected static StringformatDBName(String db) Formats a database name by converting to lowercase.protected static StringConverts a geographic location into a MySQL WKT formatted point.protected intgetNewID()Returns the AUTO_INC column value generated by the previous JDBC transaction.static final longReturns the total number of queries executed since the JVM was started.protected PreparedStatementInitialize the prepared statement with an arbitrary SQL statement.protected PreparedStatementInitialize the prepared statement with an abitrary SQL statement, without applying the DAO's query result limitations.protected voidRolls back a multi-step transaction before it is completed.final voidsetQueryMax(int maxRows) Sets the maximum number of rows in the returned result set.final voidsetQueryStart(int rowStart) Sets the first row of the results to return.voidsetQueryTimeout(int timeout) Sets the timeout for any SQL operations.protected voidMarks the start of a multi-step database transaction.protected static IntegerConverts a Database bean or an Integer into an Integer.protected static Collection<Integer> toID(Collection<?> ids) Converts a collection of Objects into Integer IDs.protected static InstantNull-safe conversion of a Timestamp to an Instant.
-
Constructor Details
-
GetSchedule
Initialize the Data Access Object.- Parameters:
c- the JDBC connection to use
-
-
Method Details
-
setSources
Sets the raw schedule sources in use, for DST calculatiuons.- Parameters:
srcs- a Collection of ScheduleSourceInfo beans
-
get
Return a particular flight from the Schedule database.- Parameters:
f- the Flight to return, using the airline code, flight number and legdbName- the database name- Returns:
- a ScheduleEntry matching the criteria, or null if not found
- Throws:
DAOException- if a JDBC error occursNullPointerException- if f is null
-
getFlights
Returns all flights from a particular airport, sorted by Airline and Flight Number.- Parameters:
a- the origin Airport bean- Returns:
- a Collection of ScheduleEntry beans
- Throws:
DAOException- if a JDBC error occurs
-
getFlights
Returns all flights from a particular airport with a particular airline, sorted by Airline and Flight Number.- Parameters:
a- the origin Airport beanal- the Airline bean- Returns:
- a Collection of ScheduleEntry beans
- Throws:
DAOException- if a JDBC error occurs
-
get
Return a particular flight from the Schedule database.- Parameters:
aCode- the Airline CodeflightNumber- the Flight Numberleg- the Leg- Returns:
- a ScheduleEntry matching the criteria, or null if not found
- Throws:
DAOException- if a JDBC error occurs
-
getAirlines
Returns the Airlines that provide service on a particular route.- Parameters:
rp- the RoutePair- Returns:
- a Collection of Airline beans
- Throws:
DAOException- if a JDBC error occursNullPointerException- if airportD or airportA are null
-
getAcademyAirports
Returns Airports only serviced by Flight Academy flights.- Returns:
- a Collection of Airports
- Throws:
DAOException- if a JDBC error occurs
-
getFlightTime
Returns the average flight time for all flights in the Schedule database between two airports.- Parameters:
rp- the RoutePairdbName- the database name- Returns:
- a FlightTime bean
- Throws:
DAOException- if a JDBC error occurs
-
getFlightNumber
public ScheduleEntry getFlightNumber(ScheduleRoute sr, int hourOfDay, String dbName) throws DAOException Returns the most appropriate flight/leg number between two airports.- Parameters:
sr- the ScheduleRoutehourOfDay- the preferred hour of day (0-23)dbName- the database name- Returns:
- a ScheduleEntry bean with the Airline, Flight and Leg number or null if none found
- Throws:
DAOException- if a JDBC error occursNullPointerException- if airportD or airportA are null
-
getFlightNumber
Returns the lowest flight/leg number between two airports.- Parameters:
rp- the RoutePairdbName- the database name- Returns:
- a ScheduleEntry bean with the Airline, Flight and Leg number or null if none found
- Throws:
DAOException- if a JDBC error occursNullPointerException- if airportD or airportA are null
-
export
Exports the entire Flight Schedule.- Returns:
- a Collection of ScheduleEntry beans
- Throws:
DAOException- if a JDBC error occurs
-
getRoutePairs
Returns all Airports and the Airports they are directly connected to.- Parameters:
includeHistoric- an Inclusion to exclude/include Historic flights- Returns:
- a Collection of ScheduleRoutes
- Throws:
DAOException- if a JDBC error occurs
-
execute
Helper method to parse schedule entry result sets.- Parameters:
ps- a PreparedStatement- Returns:
- a List of ScheduleEntry beans
- Throws:
SQLException- if an error occurs
-