Class GetPilotDirectory
java.lang.Object
org.deltava.dao.DAO
org.deltava.dao.PilotReadDAO
org.deltava.dao.GetPilot
org.deltava.dao.GetPilotDirectory
- All Implemented Interfaces:
PersonUniquenessDAO
A Data Access Object to obtain user Directory information for Pilots.
- Since:
- 1.0
- Version:
- 11.0
- Author:
- Luke
-
Field Summary
Fields inherited from class PilotReadDAO
_cacheFields 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 TypeMethodDescriptioncheckSoundex(Person usr, String dbName) Performs a soundex search on a Person's last name to detect possible matches.checkUnique(Person p, String dbName) Checks if a Person is unique, by checking the first/last names and the e-mail address.checkUnique(Person p, String dbName, int days) Checks if a Person is unique, by checking the first/last names and the e-mail address.checkUniqueEMail(Person usr, String dbName) Checks whether a particular e-mail address is unique.Returns the Pilot with a particular Pilot Code.getByIMAddress(String addr) Returns users from the current database based on their Instant Message address.Returns all active Pilots who have a particular security role.Returns all Pilots who have a particular security role.Returns all Pilots with permanent accounts.Methods inherited from class GetPilot
getActivePilots, getByEMail, getCurrencyPilots, getNewestPilots, getPilotByCode, getPilots, getPilotsByEQ, getPilotsByLetter, getPilotsByRank, getPilotsByStatus, search, searchModifier and TypeMethodDescriptiongetActivePilots(String orderBy) Returns all Active and On Leave Pilots.getByEMail(String eMail) Gets a Pilot based on e-mail address.Returns pilots who have enabled currency-based Check Rides.Gets the newest pilots (with the highest pilot IDs).getPilotByCode(int pilotCode, String dbName) Gets a Pilot based on a pilot code.Returns all Pilots.getPilotsByEQ(EquipmentType eq, String sortBy, boolean showActive, Rank rank) Returns all active Pilots with a particular rank in a particular equipment program.getPilotsByLetter(String letter) Returns Pilots whose last name begins with a particular letter.getPilotsByRank(Rank rank) Returns all Active pilots with a particular rank.getPilotsByStatus(PilotStatus status) Returns Pilots based upon their status.Searches for Pilots matching certain name criteria, using a SQL LIKE search.Searches for Pilots matching certain search criteria, using a SQL LIKE search.Methods inherited from class PilotReadDAO
execute, get, get, get, getByID, getByName, loadAccomplishments, loadChildRows, loadIMAddrs, loadPushEndpoints, loadRatings, loadRoles, updatePilotCodesModifier and TypeMethodDescriptionQuery pilot objects from the database, assuming a pre-prepared statement.final Pilotget(int id) Gets a pilot object based on a database ID.Returns a Pilot object which may be in another Airline's database.get(UserDataMap udm) Returns Pilot objects which may be in another Airline's database.getByID(Collection<?> ids, String tableName) Returns a Map of pilots based on a Set of pilot IDs.Returns a Pilot based on a given full name.protected final voidloadAccomplishments(Map<Integer, Pilot> pilots, String dbName) Load the accomplishment IDs for a group of Pilots.protected final voidloadChildRows(Pilot p, String dbName) Load the ratings, roles and accomplishment IDs for a Pilot.protected final voidloadIMAddrs(Map<Integer, Pilot> pilots, String dbName) Load social media addresses for a group of Pilots.protected final voidloadPushEndpoints(Map<Integer, Pilot> pilots, String dbName) Loads push notification endpoints for a group of Pilots.protected final voidloadRatings(Map<Integer, Pilot> pilots, String dbName) Load the equipment ratings for a group of Pilots.protected final voidLoad the security roles for a group of Pilots.protected static final voidupdatePilotCodes(Collection<Pilot> pilots, String dbName) Updates the Pilot codes when loading Pilots from different databases.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.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface PersonUniquenessDAO
getModifier and TypeMethodDescriptionget(UserDataMap udm) Returns Person objects which may be in another Airline's database.
-
Constructor Details
-
GetPilotDirectory
Initialize the Data Access Object.- Parameters:
c- the JDBC connection to use
-
-
Method Details
-
getByCode
Returns the Pilot with a particular Pilot Code.- Parameters:
pilotCode- the Pilot Code (eg DVA043)- Returns:
- the Directory Name of the Pilot, or null if not found
- Throws:
DAOException- if a JDBC error occurs
-
checkUnique
Checks if a Person is unique, by checking the first/last names and the e-mail address.- Specified by:
checkUniquein interfacePersonUniquenessDAO- Parameters:
p- the PersondbName- the database to search- Returns:
- a Collection of database IDs
- Throws:
DAOException- if a JDBC error occurs
-
checkUnique
Checks if a Person is unique, by checking the first/last names and the e-mail address.- Specified by:
checkUniquein interfacePersonUniquenessDAO- Parameters:
p- the PersondbName- the database to searchdays- restrict uniqueness search to users created in the last number of days, or -1 for all- Returns:
- a Collection of database IDs
- Throws:
DAOException- if a JDBC error occurs
-
checkUniqueEMail
Checks whether a particular e-mail address is unique.- Parameters:
usr- the Person to check fordbName- the database to check- Returns:
- a Collection of database IDs
- Throws:
DAOException- if a JDBC error occurs
-
getByIMAddress
Returns users from the current database based on their Instant Message address.- Parameters:
addr- the address- Returns:
- a Pilot, or null if not found
- Throws:
DAOException- if a JDBC error occurs
-
getPermanent
Returns all Pilots with permanent accounts.- Returns:
- a Collection of Pilots
- Throws:
DAOException- if a JDBC error occurs
-
getByRole
Returns all active Pilots who have a particular security role.- Parameters:
roleName- the role namedbName- the database name- Returns:
- a List of Pilots
- Throws:
DAOException- if a JDBC error occurs
-
getByRole
public List<Pilot> getByRole(String roleName, String dbName, boolean activeOnly) throws DAOException Returns all Pilots who have a particular security role.- Parameters:
roleName- the role namedbName- the database nameactiveOnly- TRUE to only include active Pilots, otherwise FALSE- Returns:
- a List of Pilots
- Throws:
DAOException- if a JDBC error occurs
-
checkSoundex
Performs a soundex search on a Person's last name to detect possible matches. The soundex implementation is dependent on the capabilities of the underlying database engine, and is not guaranteed to be consistent (or even supported) across different database servers.- Specified by:
checkSoundexin interfacePersonUniquenessDAO- Parameters:
usr- the Person to check fordbName- the database name- Returns:
- a Collection of Database IDs as Integers
- Throws:
DAOException- if a JDBC error occurs
-