Class GetEliteStatistics
java.lang.Object
org.deltava.dao.DAO
org.deltava.dao.EliteDAO
org.deltava.dao.GetEliteStatistics
A Data Access Object to read Elite program-related statistics.
- Since:
- 9.2
- Version:
- 11.5
- Author:
- Luke
-
Field Summary
Fields inherited from class EliteDAO
_lstCache, _lvlCache, _stCacheModifier and TypeFieldDescriptionprotected static final Cache<EliteLifetimeStatus> The Elite lifetime status cache.protected static final Cache<EliteLevel> The EliteLevel cache.protected static final Cache<EliteStatus> The Elite status cache.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 TypeMethodDescriptiongetEliteCounts(int year) Loads the number of pilots with Elite status for a given year.getEliteTotals(int pilotID) Returns Elite status totals per year.getEliteTotals(int pilotID, int year) Returns Elite status totals for a particiular year.getLifetimeTotals(int pilotID) Loads total elite program mileage for a given Pilot.Loads flight/distance/point statistics by Pilot for a one year interval.getRollover(int year) Returns all rollover totals for a given year.getRollover(int pilotID, int year) Loads a Pilot's rollover totals for a given year.booleanisRolloverComplete(int statusYear) Checks to see whether rollover has been completed for a given Elite status year.Methods inherited from class EliteDAO
executeLevel, executeLifetime, get, getLifetime, populateLevelsModifier and TypeMethodDescriptionprotected static List<EliteLevel> Helper method to parse Elite level result sets.protected static List<EliteLifetime> Helper method to process Elite lifetime level result sets.Returns an Elite status level for a particular year.getLifetime(String code, String dbName) Returns a lifetime Elite status level.protected voidpopulateLevels(Collection<? extends EliteLevelBean> data) Helper method to populate EliteLevel beans.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
-
GetEliteStatistics
Initalizes the Data Access Object.- Parameters:
c- the JDBC Connection to use
-
-
Method Details
-
getEliteTotals
Returns Elite status totals for a particiular year.- Parameters:
pilotID- the Pilot's database IDyear- the statistics year- Returns:
- a YearlyTotals bean
- Throws:
DAOException- if a JDBC error occurs
-
getEliteTotals
Returns Elite status totals per year.- Parameters:
pilotID- the Pilot's database ID- Returns:
- a List of YearlyTotals beans, ordered by year descending
- Throws:
DAOException- if a JDBC error occurs
-
getPilotTotals
Loads flight/distance/point statistics by Pilot for a one year interval. This excludes rollover legs and distance- Parameters:
sd- the start date- Returns:
- a List of YearlyTotal beans
- Throws:
DAOException- if a JDBC error occurs- See Also:
-
getLifetimeTotals
Loads total elite program mileage for a given Pilot.- Parameters:
pilotID- the Pilot's database ID- Returns:
- the total number of miles
- Throws:
DAOException- if a JDBC error occurs
-
getEliteCounts
Loads the number of pilots with Elite status for a given year.- Parameters:
year- the program year- Returns:
- a sorted Map of Pilot counts, keyed by EliteLevel
- Throws:
DAOException- if a JDBC error occurs
-
getRollover
Loads a Pilot's rollover totals for a given year.- Parameters:
pilotID- the Pilot's database IDyear- the year- Returns:
- a YearlyTotal bean
- Throws:
DAOException- if a JDBC error occurs
-
getRollover
Returns all rollover totals for a given year.- Parameters:
year- the year- Returns:
- a Collection of YearlyTotal beans
- Throws:
DAOException- if a JDBC error occurs
-
isRolloverComplete
Checks to see whether rollover has been completed for a given Elite status year.- Parameters:
statusYear- the status year- Returns:
- TRUE if there are status entries for the year, otherwise FALSE
- Throws:
DAOException- if a JDBC error occurs
-