Class GetOnlineTrack

java.lang.Object
org.deltava.dao.DAO
org.deltava.dao.GetOnlineTrack

public class GetOnlineTrack extends DAO
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
  • Constructor Details

    • GetOnlineTrack

      public GetOnlineTrack(Connection c)
      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 ID
      net - the OnlineNetwork to use
      dt - the date/time to search before
      aD - the departure Airport
      aA - the arrival Airport
      Returns:
      the track ID, or zero if not found
      Throws:
      DAOException - if a JDBC error occurs
    • getRoute

      public String getRoute(int trackID) throws DAOException
      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

      public Collection<PositionData> getRaw(int trackID) throws DAOException
      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

      public boolean hasTrack(int pirepID) throws DAOException
      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

      public SequencedCollection<PositionData> get(int pirepID) throws DAOException
      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

      public Collection<Instant> getFetches(OnlineNetwork network, TimeSpan ts) throws DAOException
      Displays data collections occurring within a given time span.
      Parameters:
      network - the OnlineNetwork
      ts - the TimeSpan
      Returns:
      a Collection of fetch Instants
      Throws:
      DAOException - if a JDBC error occurs
    • getFetchNetworks

      public Collection<OnlineNetwork> getFetchNetworks(TimeSpan ts) throws DAOException
      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

      public Collection<Integer> getDisposedPIREPs() throws DAOException
      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