Class GetNavData
java.lang.Object
org.deltava.dao.DAO
org.deltava.dao.GetNavData
- Direct Known Subclasses:
GetNavAirway
A Data Access Object to read Navigation data.
- Since:
- 1.0
- Version:
- 12.4
- 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 TypeMethodDescriptionReturns a Navigation object.getAirport(String code) Returns an Airport location from the database.Returns all navaids of a particular type in the database.getBearingRange(String code) Retrieves "special" navaids such as CODE[bearing][distance].getBestRunway(ICAOAirport a, Simulator sim, GeoLocation loc, int hdg) Returns the likeliest runway for a takeoff or landing.getByID(Collection<String> ids) Returns a group of Navigation objects.getIntersections(GeoLocation loc, int distance) Returns all Intersections within a set number of miles from a point.getObjects(GeoLocation loc, int distance) Returns all Navigation objects (except Intersections/Runways/Gates) within a set number of miles from a point.getRunway(ICAOAirport a, String rwyCode, Simulator sim) Returns information about a particular airport Runway.Returns all Runways in the database.Returns information about all airport Runways in all Simulators.getRunways(ICAOAirport a, Simulator sim) Returns all Runways for a particular Airport.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
-
GetNavData
Initializes the Data Access Object.- Parameters:
c- the JDBC connection to use
-
-
Method Details
-
get
Returns a Navigation object.- Parameters:
code- the object code- Returns:
- a NavigationDataMap
- Throws:
DAOException- if a JDBC error occurs
-
getBearingRange
Retrieves "special" navaids such as CODE[bearing][distance].- Parameters:
code- the code/bearing/distance- Returns:
- a NavigationDataMap
- Throws:
DAOException- if a JDBC error occurs
-
getAirport
Returns an Airport location from the database.- Parameters:
code- the airport ICAO code- Returns:
- an AirportLocation bean, or null if not found
- Throws:
DAOException- if a JDBC error occurs
-
getRunways
Returns all Runways in the database.- Returns:
- a List of Runways
- Throws:
DAOException- if a JDBC error occurs
-
getRunways
Returns information about all airport Runways in all Simulators.- Parameters:
a- the ICAOAirport- Returns:
- a Runway bean, or null if not found
- Throws:
DAOException- if a JDBC error occurs
-
getRunway
Returns information about a particular airport Runway.- Parameters:
a- the ICAOAirportrwyCode- the runway name/numbersim- the Simulator to select- Returns:
- a Runway bean, or null if not found
- Throws:
DAOException- if a JDBC error occurs
-
getRunways
Returns all Runways for a particular Airport.- Parameters:
a- the ICAOAirportsim- the Simulator to select- Returns:
- a Collection of Runway beans
- Throws:
DAOException- if a JDBC error occurs
-
getBestRunway
public LandingRunways getBestRunway(ICAOAirport a, Simulator sim, GeoLocation loc, int hdg) throws DAOException Returns the likeliest runway for a takeoff or landing.- Parameters:
a- the Airportsim- the Simulatorloc- the takeoff/landing locationhdg- the takeoff/landing heading in degrees- Returns:
- a Runway, or null if not found
- Throws:
DAOException- if a JDBC error occurs
-
getByID
Returns a group of Navigation objects.- Parameters:
ids- a Collection of navigation object codes- Returns:
- a NavigationDataMap bean
- Throws:
DAOException- if a JDBC error occurs
-
getIntersections
public Collection<NavigationDataBean> getIntersections(GeoLocation loc, int distance) throws DAOException Returns all Intersections within a set number of miles from a point.- Parameters:
loc- the central locationdistance- the distance in miles- Returns:
- a Map of Intersections, with the code as the key
- Throws:
DAOException- if a JDBC error occursIllegalArgumentException- if distance is negative or > 1000
-
getObjects
Returns all Navigation objects (except Intersections/Runways/Gates) within a set number of miles from a point.- Parameters:
loc- the central locationdistance- the distance in miles- Returns:
- a Map of NavigationDataBeans, with the code as the key
- Throws:
DAOException- if a JDBC error occursIllegalArgumentException- if distance is negative or > 1500
-