Class SetOnlineTrack
java.lang.Object
org.deltava.dao.DAO
org.deltava.dao.SetOnlineTrack
A Data Access Object to write VATSIM/IVAO/PilotEdge Online tracks.
- Since:
- 2.4
- Version:
- 9.0
- 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 TypeMethodDescriptionvoidpurge(int pirepID) Purges linked data from the database.intpurgeAll(int hours) Purges all raw flight records started prior to a particular time.voidpurgeRaw(int rawFlightID) Purges raw data from the database.voidwrite(int pirepID, Collection<PositionData> pds, String dbName) Writes position records to the database and links them to a Flight Report.voidWrites a Position record to the shared database.voidwritePull(OnlineNetwork net, Instant fetchTime) Records a ServInfo info pull.intwriteTrack(int userID, OnlineNetwork net, Airport aD, Airport aA, String route) Writes a new Online Track record to the shared database.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
-
SetOnlineTrack
Initializes the Data Access Object.- Parameters:
c- the JDBC connection to use
-
-
Method Details
-
writeTrack
public int writeTrack(int userID, OnlineNetwork net, Airport aD, Airport aA, String route) throws DAOException Writes a new Online Track record to the shared database.- Parameters:
userID- the Pilot's database IDnet- the OnlineNetwork usedaD- the departure AirportaA- the arrival Airportroute- the filed route- Returns:
- the newly written track ID
- Throws:
DAOException- if a JDBC error occurs
-
writePosition
Writes a Position record to the shared database.- Parameters:
pd- a PositionData bean- Throws:
DAOException- if a JDBC error occurs
-
writePull
Records a ServInfo info pull.- Parameters:
net- the OnlineNetworkfetchTime- the fetch date/time in UTC- Throws:
DAOException- if a JDBC error occurs
-
purgeRaw
Purges raw data from the database.- Parameters:
rawFlightID- the flight ID of the raw flight data- Throws:
DAOException- if a JDBC error occurs
-
purgeAll
Purges all raw flight records started prior to a particular time.- Parameters:
hours- the number of hours ago- Returns:
- the number of flights purged
- Throws:
DAOException- if a JDBC error occurs
-
purge
Purges linked data from the database.- Parameters:
pirepID- the flight report ID- Throws:
DAOException- if a JDBC error occurs
-
write
Writes position records to the database and links them to a Flight Report.- Parameters:
pirepID- the Flight Report database IDpds- a Collection of PositionData beansdbName- the database name- Throws:
DAOException- if a JDBC error occurs
-