Class GetOnlineTrack
java.lang.Object
org.deltava.dao.DAO
org.deltava.dao.GetOnlineTrack
A Data Access Object to load VATSIM/IVAO data tracks. This DAO can load from the ONLINE_TRACKS table in each Airline's database, which stores track data
already associated with a Flight Report. It can also load "raw" metadta from the online track database which contains information for all Airlines populated
from the ServInfo feed by the
OnlineTrackTask scheduled task.- Since:
- 2.4
- Version:
- 11.1
- 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 TypeMethodDescriptionget(int pirepID) Fetches the track data for a particular Flight Report.Returns the Flight Report IDs for any disposed Flight Reports with an entry in the track table.getFetches(OnlineNetwork network, TimeSpan ts) Displays data collections occurring within a given time span.Returns all Online Networks with an outage in a given time span.getRaw(int trackID) Fetches raw track data for a Pilot, for a flight between two airports in the time preceeding a specific date/time.getRoute(int trackID) Retrieves the filed route for a particular raw track.intgetTrackID(int pilotID, OnlineNetwork net, Instant dt, Airport aD, Airport aA) Determines whethere there is an existing raw track ID for a particular flight for a particular Pilot.booleanhasTrack(int pirepID) An optimized method to determine if a Flight Report has online track data.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
-
GetOnlineTrack
Initializes the Data Access Object.- Parameters:
c- the JDBC connection to use
-
-
Method Details
-
getTrackID
public int getTrackID(int pilotID, OnlineNetwork net, Instant dt, Airport aD, Airport aA) throws DAOException Determines whethere there is an existing raw track ID for a particular flight for a particular Pilot.- Parameters:
pilotID- the Pilot's database IDnet- the OnlineNetwork to usedt- the date/time to search beforeaD- the departure AirportaA- the arrival Airport- Returns:
- the track ID, or zero if not found
- Throws:
DAOException- if a JDBC error occurs
-
getRoute
Retrieves the filed route for a particular raw track.- Parameters:
trackID- the raw track database ID- Returns:
- the route, or null if not found
- Throws:
DAOException- if a JDBC error occurs
-
getRaw
Fetches raw track data for a Pilot, for a flight between two airports in the time preceeding a specific date/time.- Parameters:
trackID- the track ID- Returns:
- a Collection of PositionData beans
- Throws:
DAOException- if a JDBC error occurs
-
hasTrack
An optimized method to determine if a Flight Report has online track data.- Parameters:
pirepID- the Flight Report database ID- Returns:
- TRUE if track data exists, otherwise FALSE
- Throws:
DAOException- if a JDBC error occurs
-
get
Fetches the track data for a particular Flight Report.- Parameters:
pirepID- the Flight Report database ID- Returns:
- a Collection of PositionData beans
- Throws:
DAOException- if a JDBC error occurs
-
getFetches
Displays data collections occurring within a given time span.- Parameters:
network- the OnlineNetworkts- the TimeSpan- Returns:
- a Collection of fetch Instants
- Throws:
DAOException- if a JDBC error occurs
-
getFetchNetworks
Returns all Online Networks with an outage in a given time span.- Parameters:
ts- the TimeSpan- Returns:
- a Collection of OnlineNetwork beans
- Throws:
DAOException- if a JDBC error occurs
-
getDisposedPIREPs
Returns the Flight Report IDs for any disposed Flight Reports with an entry in the track table.- Returns:
- a Collection of Flight Report IDs
- Throws:
DAOException- if a JDBC error occurs
-