Class NwxTextProductDataSource

All Implemented Interfaces:
Sharable, DataSource, DataSourceFactory, XmlPersistable
Direct Known Subclasses:
AddeTextProductDataSource

public class NwxTextProductDataSource extends TextProductDataSource
A class for handling text products configured from NWX tables
Version:
$Revision: 1.15 $
Author:
IDV development team
  • Field Details

    • MASTER_TABLE

      protected static String MASTER_TABLE
      the master table
    • GUI_TABLE

      protected static String GUI_TABLE
      the gui table
  • Constructor Details

    • NwxTextProductDataSource

      public NwxTextProductDataSource()
      Default bean constructor; does nothing.
    • NwxTextProductDataSource

      public NwxTextProductDataSource(DataSourceDescriptor descriptor, String filename, Hashtable properties)
      Parameters:
      descriptor - descriptor for this DataSource
      filename - name of the file (or URL)
      properties - extra data source properties
    • NwxTextProductDataSource

      public NwxTextProductDataSource(DataSourceDescriptor descriptor, List files, Hashtable properties)
      Parameters:
      descriptor - Descriptor for this DataSource
      files - List of files or urls
      properties - Extra data source properties
    • NwxTextProductDataSource

      public NwxTextProductDataSource(DataSourceDescriptor descriptor, List newSources, String name, String description, Hashtable properties)
      Create a TrackDataSource from the specification given.
      Parameters:
      descriptor - data source descriptor
      newSources - List of sources of data (filename/URL)
      name - my name
      description - description of the data
      properties - extra properties for initialization
  • Method Details

    • getTableInfo

      public NwxTextProductDataSource.TableInfo getTableInfo(ProductType productType)
      Get the table for the product type
      Parameters:
      productType - the product type
      Returns:
      the table or null if one can't be found
    • getStations

      public NamedStationTable getStations(ProductType productType, DateSelection dateSelection) throws Exception
      Get the stations for a productType
      Specified by:
      getStations in class TextProductDataSource
      Parameters:
      productType - the product type
      dateSelection - the date selection
      Returns:
      the list of stations
      Throws:
      Exception - problem reading the stations
    • getAvailableStations

      protected NamedStationTable getAvailableStations(NamedStationTable all, NwxTextProductDataSource.TableInfo tableInfo, DateSelection dateSelection)
      Get the stations for a productType
      Parameters:
      all - all the possible station
      tableInfo - table info for the product
      dateSelection - the date selection
      Returns:
      the list of stations with reports
    • readProducts

      public List<Product> readProducts(ProductType productType, List<NamedStationImpl> stations, DateSelection dateSelection)
      Read products
      Specified by:
      readProducts in class TextProductDataSource
      Parameters:
      productType - the product type
      stations - the stations
      dateSelection - the date selection
      Returns:
      the list of products
    • getProductGroups

      public List<ProductGroup> getProductGroups()
      Get the list of product groups
      Specified by:
      getProductGroups in class TextProductDataSource
      Returns:
      the list of product groups
    • getPath

      protected String getPath(String prop, String title)
      This looks in the paths map for the given property. If not found it checks the environment variables. If still not found it prompts the user for a directory
      Parameters:
      prop - property id
      title - title for the file chooser
      Returns:
      The path or null
    • getTablePath

      protected String getTablePath()
      Get the table path. Subclasses can overrid
      Returns:
      the base path of the data.
    • setAdditionalResources

      protected boolean setAdditionalResources()
      Set the additional resources needed for this to work.
      Returns:
      true if resources set okay
    • getAdditionalResourcesError

      public String getAdditionalResourcesError()
      Get the error message if additional resources aren't available
      Returns:
      error messaage
    • initAfter

      protected void initAfter()
      Initialize after opening.
      Overrides:
      initAfter in class DataSourceImpl
    • readProducts

      protected List<Product> readProducts(NwxTextProductDataSource.TableInfo tableInfo, List<NamedStationImpl> stations, DateSelection dateSelection)
      Read the products for defined by the table info. Subclasses need to override this method for their particular stuff
      Parameters:
      tableInfo - the table info
      stations - the stations
      dateSelection - the date selection
      Returns:
      the products
    • getDateFromFileName

      public static Date getDateFromFileName(String path)
      Get the Date from the file name
      Parameters:
      path - file path
      Returns:
      the date or null
    • canHandleType

      protected boolean canHandleType(NwxTextProductDataSource.TableInfo ti)
      Can we handle this type of data?
      Parameters:
      ti - the table info
      Returns:
      true if we can handle it.
    • setPaths

      public void setPaths(Hashtable<String,String> value)
      Set the Paths property.
      Parameters:
      value - The new value for Paths
    • getPaths

      public Hashtable<String,String> getPaths()
      Get the Paths property.
      Returns:
      The Paths
    • main

      public static void main(String[] args)
      Test this
      Parameters:
      args - input