29.2.3. Reporters

This section gives an overview of reporters in BASE.

Figure 29.4. Reporters



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:


where,in the file-case, ITEM_TYPE is File and ITEM_NAME is the file's name.

Reporter lists

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.