Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
SMILA/Documentation/Record Filter
bundle: org.eclipse.eilf.datamodel.tools class: org.eclipse.eilf.datamodel.tools.record.filter.RecordFilterHelper used in: org.eclipse.eilf.blackboard
What is Record Filter
Record may contains many attributes and annotations that really does not required for. For increase productivity, decrease information sent (by SCA), stored in JMS queue etc, its possible to create a copy of Record with only attributes/annotations passed through some filter and to work with this small copy of Record. Record Filter is a helper class that implements this filtering.
Now Record Filter is a part of Blackboard functionality. Its possible to get filtered Record from Blackboard.
Configuration
By default, Blackboard uses record filter configuration file RecordFilters.xml
Schema: RecordFilters.xsd (see in schemas/ directory of bundle)
There are series of filters (tag Filter) Record filter will search first appropriate Filter by name specified. If there is no filter found, RecordFilterNotFoundException will be thrown. Attribute/Annotation will be copied if correspondent, by name, Attribute/Annotation tag will be found in Filter. Attribute "keepAnnotations" is a flag to copy internal attribute annotations.
Example
<RecordFilters> <Filter name="only-attributes"> <Attribute name="*"/> </Filter> <Filter name="no-filter"> <Attribute name="*" keepAnnotations="true"/> <Annotation name="*"/> </Filter> <Filter name="nothing"/> <Filter name="only-attribute1"> <Attribute name="attribute1"/> </Filter> <Filter name="filter-single-and-datetime"> <Attribute name="single value"/> <Attribute name="datetime value"/> </Filter> </RecordFilters>