This section gives an overview of reporters in BASE.
The ReporterData
class holds information about reporters.
The externalId is a required property that must be unique
among all reporters. The external ID is the value BASE uses to match
reporters when importing data from files.
The ReporterData
is an extendable
class, which means that the server administrator can define additional
columns (=annotations) in the reporters table. These are accessed with
the ReporterData.getExtended()
and
ReporterData.setExtended()
methods.
See Appendix C, extended-properties.xml reference for more information about
this.
The ReporterData
is also a batchable
class which means that there is no corresponding class in the core
layer. Client applications and plug-ins should work directly with
the ReporterData
class. To help manage the reporters
there is the Reporter
and ReporterBatcher
classes. The main reason for this
is to increase the performance and lower the memory usage by bypassing
internal caching in the core and Hibernate. Performance is also
increased by the batchers which uses more efficient SQL against the
database than Hibernate.
The
lastUpdate
property holds the data and time the reporter information was last updated. The
value is managed automatically by the
ReporterBatcher
class. That goes for
lastSource
property too, which holds information about where the last update comes from. By
default this is set to the name of the logged in user, but it can be changed by
calling
ReporterBatcher.setUpdateSource(String source)
before the batcher commits the updates to the database. The source-string
should have the format:
[ITEM_TYPE]:[ITEM_NAME]
where,in the file-case, ITEM_TYPE is File and ITEM_NAME is the file's name.
Reporter lists can be used to group reporters that are somehow related to each other. This could for example be a list of interesting reporters found in the analysis of an experiment. Each reporter in the list may optionally be assigned a score. The meaning of the score value is not interpreted by BASE.