Class SampleDataT

  • All Implemented Interfaces:
    adams.core.logging.LoggingSupporter, adams.core.SizeOfHandler, adams.db.BulkReportUpdater<SampleData>, adams.db.DatabaseConnectionProvider, adams.db.DatabaseConnectionUser, adams.db.FieldProvider<adams.data.report.Field>, adams.db.InstrumentProvider, adams.db.ReportProvider<SampleData,​String>, adams.db.ReportProviderByID<SampleData>, SampleDataIntf, adams.db.SQLIntf, adams.db.TableInterface, adams.event.DatabaseConnectionChangeListener, Serializable
    Direct Known Subclasses:
    SampleDataT, SampleDataT, SampleDataT, SampleDataT, SampleDataT

    public abstract class SampleDataT
    extends adams.db.ReportTableByID<SampleData,​adams.data.report.Field>
    implements SampleDataIntf
    A class for handling the sample data reports table.
    Author:
    dale
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean m_BulkStoreStopped
      whether to stop the bulk store.
      protected static adams.db.TableManager<SampleDataT> m_TableManager
      the table manager.
      • Fields inherited from class adams.db.AbstractIndexedTable

        m_init
      • Fields inherited from class adams.db.AbstractTable

        FILENAME, m_AnsiQuotes, m_Properties, m_TableName
      • Fields inherited from class adams.db.generic.SQL

        m_DatabaseConnection, m_Debug, m_Queries, m_Quirks
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
      • Fields inherited from interface adams.db.SQLIntf

        FAKE_TABLE_NAME
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected SampleDataT​(adams.db.AbstractDatabaseConnection dbcon)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean bulkStore​(SampleData[] records, adams.data.report.DataType[] types, String skipFields, int batchSize, boolean autoCommit, boolean newConnection)
      Stores the records.
      protected boolean doStore​(String id, SampleData report)
      Stores the report.
      boolean exists​(String id)
      Checks whether the report exists in the database.
      protected adams.db.ColumnMapping getColumnMapping()
      Column mapping for table.
      List<Integer> getDBIDs​(adams.db.AbstractConditions conditions)
      Return a list of database IDs of data containers that match the defined conditions.
      List<adams.data.report.Field> getFields​(adams.data.report.DataType dtype)
      Returns all available fields.
      List<String> getIDs​(adams.db.AbstractConditions cond)
      Return a list (Vector) of IDs of spectra that match the defined conditions.
      List<String> getIDs​(String[] columns, adams.db.AbstractConditions cond)
      Return a list (Vector) of IDs of spectra that match the defined conditions.
      protected List getIDs​(String[] columns, adams.db.AbstractConditions cond, boolean dbids)
      Return a list (Vector) of IDs of spectra that match the defined conditions.
      protected adams.db.indices.Indices getIndices()
      Get table indices.
      List<String> getInstruments()
      Returns all the various instruments.
      List<String> getOrphanedIDs​(OrphanedSampleDataConditions conditions)
      Returns a list of sample IDs of sample data without associated spectra.
      static SampleDataIntf getSingleton​(adams.db.AbstractDatabaseConnection dbcon)
      Returns the singleton of the table (active).
      static void initTable​(adams.db.AbstractDatabaseConnection dbcon)
      Initializes the table.
      SampleData load​(String id)
      Get params.
      void stopBulkStore()
      Interrupts a currently running bulk store, if possible.
      • Methods inherited from class adams.db.ReportTableByID

        createField, getFields, parse, remove, remove, remove, store, store
      • Methods inherited from class adams.db.AbstractIndexedTable

        columnsMatch, columnsMatchTest, create, getAllColumns, getTables, init, initTables, isThere, postCreate, select, select, selectDistinct, selectDistinct, truncate, update
      • Methods inherited from class adams.db.AbstractTable

        columnExists, databaseConnectionStateChanged, getProperties, getQueries, getTableName, isEnabled, quoteName, tableExists, toString, useAnsiQuotes
      • Methods inherited from class adams.db.generic.SQL

        columnExists, doSelect, drop, execute, executeGeneratedKeys, getDatabaseConnection, getDebug, getMaxColumnNameLength, getResultSet, getSimpleResultSet, prepareStatement, prepareStatement, prepareStatement, select, selectDistinct, selectDouble, selectInt, selectLong, selectString, selectStrings, setDebug, singleton, tableExists, truncate, update, updatePrefix, updateTableName
      • Methods inherited from class adams.core.logging.LoggingObject

        configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
      • Methods inherited from interface adams.db.DatabaseConnectionProvider

        getDatabaseConnection
      • Methods inherited from interface adams.db.FieldProvider

        getFields
      • Methods inherited from interface adams.core.logging.LoggingSupporter

        getLogger, isLoggingEnabled
      • Methods inherited from interface adams.db.ReportProviderByID

        remove, remove, store, store
      • Methods inherited from interface adams.db.TableInterface

        getTableName
    • Field Detail

      • m_TableManager

        protected static adams.db.TableManager<SampleDataT> m_TableManager
        the table manager.
      • m_BulkStoreStopped

        protected boolean m_BulkStoreStopped
        whether to stop the bulk store.
    • Constructor Detail

      • SampleDataT

        protected SampleDataT​(adams.db.AbstractDatabaseConnection dbcon)
        Constructor.
        Parameters:
        dbcon - the database context this table is used in
    • Method Detail

      • getFields

        public List<adams.data.report.Field> getFields​(adams.data.report.DataType dtype)
        Returns all available fields.
        Specified by:
        getFields in interface adams.db.FieldProvider<adams.data.report.Field>
        Specified by:
        getFields in interface SampleDataIntf
        Parameters:
        dtype - the type to limit the search to, use "null" for all
        Returns:
        the list of fields
      • exists

        public boolean exists​(String id)
        Checks whether the report exists in the database.
        Specified by:
        exists in interface adams.db.ReportProvider<SampleData,​String>
        Specified by:
        exists in interface adams.db.ReportProviderByID<SampleData>
        Specified by:
        exists in interface SampleDataIntf
        Parameters:
        id - the ID of parent data container
        Returns:
        true if the report exists
      • load

        public SampleData load​(String id)
        Get params.
        Specified by:
        load in interface adams.db.ReportProvider<SampleData,​String>
        Specified by:
        load in interface adams.db.ReportProviderByID<SampleData>
        Specified by:
        load in interface SampleDataIntf
        Parameters:
        id - sample ID of spectrum
        Returns:
        the hashtable
      • doStore

        protected boolean doStore​(String id,
                                  SampleData report)
        Stores the report. Either updates or inserts the fields.
        Specified by:
        doStore in class adams.db.ReportTableByID<SampleData,​adams.data.report.Field>
        Parameters:
        id - the id of the report
        report - the report
        Returns:
        true if successfully inserted
      • getColumnMapping

        protected adams.db.ColumnMapping getColumnMapping()
        Column mapping for table.
        Specified by:
        getColumnMapping in class adams.db.AbstractIndexedTable
        Returns:
        column mapping
      • getIndices

        protected adams.db.indices.Indices getIndices()
        Get table indices.
        Specified by:
        getIndices in class adams.db.AbstractIndexedTable
        Returns:
        indices.
      • getIDs

        public List<String> getIDs​(adams.db.AbstractConditions cond)
        Return a list (Vector) of IDs of spectra that match the defined conditions. Since the alphanumeric IDs can be of numeric nature as well, we're returning them surrounded with double quotes to avoid them being interpreted as database IDs.
        Specified by:
        getIDs in interface adams.db.ReportProvider<SampleData,​String>
        Specified by:
        getIDs in interface adams.db.ReportProviderByID<SampleData>
        Specified by:
        getIDs in interface SampleDataIntf
        Parameters:
        cond - the conditions that the spectra must meet
        Returns:
        list of spectrum ids
      • getIDs

        public List<String> getIDs​(String[] columns,
                                   adams.db.AbstractConditions cond)
        Return a list (Vector) of IDs of spectra that match the defined conditions. Since the alphanumeric IDs can be of numeric nature as well, we're returning them surrounded with double quotes to avoid them being interpreted as database IDs. If several columns are specified, then the result contains them tab-separated.
        Specified by:
        getIDs in interface adams.db.ReportProvider<SampleData,​String>
        Specified by:
        getIDs in interface adams.db.ReportProviderByID<SampleData>
        Specified by:
        getIDs in interface SampleDataIntf
        Parameters:
        columns - the columns to retrieve ("sp." for spectrum table, "sd." for sampledata table)
        cond - the conditions that the spectra must meet
        Returns:
        list of spectrum ids
      • getDBIDs

        public List<Integer> getDBIDs​(adams.db.AbstractConditions conditions)
        Return a list of database IDs of data containers that match the defined conditions.
        Specified by:
        getDBIDs in interface adams.db.ReportProvider<SampleData,​String>
        Specified by:
        getDBIDs in interface adams.db.ReportProviderByID<SampleData>
        Specified by:
        getDBIDs in interface SampleDataIntf
        Parameters:
        conditions - the conditions that the conatiners must meet
        Returns:
        list of database IDs
      • getIDs

        protected List getIDs​(String[] columns,
                              adams.db.AbstractConditions cond,
                              boolean dbids)
        Return a list (Vector) of IDs of spectra that match the defined conditions. Since the alphanumeric IDs can be of numeric nature as well, we're returning them surrounded with double quotes to avoid them being interpreted as database IDs. If several columns are specified, then the result contains them tab-separated.
        Parameters:
        columns - the columns to retrieve ("sp." for spectrum table, "sd." for sampledata table)
        cond - the conditions that the spectra must meet
        Returns:
        list of spectrum ids
      • getInstruments

        public List<String> getInstruments()
        Returns all the various instruments.
        Specified by:
        getInstruments in interface adams.db.InstrumentProvider
        Specified by:
        getInstruments in interface SampleDataIntf
        Returns:
        the instruments
      • initTable

        public static void initTable​(adams.db.AbstractDatabaseConnection dbcon)
        Initializes the table. Used by the "InitializeTables" tool.
        Parameters:
        dbcon - the database context
      • bulkStore

        public boolean bulkStore​(SampleData[] records,
                                 adams.data.report.DataType[] types,
                                 String skipFields,
                                 int batchSize,
                                 boolean autoCommit,
                                 boolean newConnection)
        Stores the records. Removes any previously existing reference values.
        Specified by:
        bulkStore in interface adams.db.BulkReportUpdater<SampleData>
        Parameters:
        records - the report
        types - the data types to import
        skipFields - the fields to skip (regular expression), null to accept all
        batchSize - the maximum number of records in one batch
        autoCommit - whether to use auto-commit or not (turning off may impact other transactions!)
        newConnection - uses a separate database connection just for this connection (then no auto-commit doesn't affect the rest)
        Returns:
        true if successfully inserted/updated
      • stopBulkStore

        public void stopBulkStore()
        Interrupts a currently running bulk store, if possible.
        Specified by:
        stopBulkStore in interface adams.db.BulkReportUpdater<SampleData>
      • getSingleton

        public static SampleDataIntf getSingleton​(adams.db.AbstractDatabaseConnection dbcon)
        Returns the singleton of the table (active).
        Parameters:
        dbcon - the database connection to get the singleton for
        Returns:
        the singleton