c++/EEDB/SPStreams/MetadataFilter.cpp
/*matching metadata. inverse option, filter-logic option, 
 options to check metadata of the Feature or the associated FeatureSource and/or Experiments*/
matching metadata. inverse option, filter-logic option,
options to check metadata of the Feature or the associated FeatureSource and/or Experiments
matching metadata . inverse option filter - logic option options to check metadata of the Feature or the associated FeatureSource and / or Experiments
bool EEDB::SPStreams::MetadataFilter::_check_metadataset(EEDB::MetadataSet *mdset) {
  if(!mdset) { return false; }
  if(!_filter_logic.empty()) {    
    if(mdset->check_by_filter_logic(_filter_logic)) { return true; }
  }
  for(unsigned int i=0; i<_specific_mdata.size(); i++) {
    EEDB::Metadata *md = _specific_mdata[i];
    if(mdset->find_metadata(md->type(), md->data()) != NULL) { return true; }
  }
  return false;  
}
bool EEDB :: SPStreams :: MetadataFilter :: _check_metadataset ( EEDB :: MetadataSet * mdset ) { if ( ! mdset ) { return false ; } if ( ! _filter_logic . empty ( ) ) { if ( mdset -> check_by_filter_logic ( _filter_logic ) ) { return true ; } } for ( unsigned int i = 0 ; i < _specific_mdata . size ( ) ; i ++ ) { EEDB :: Metadata * md = _specific_mdata [ i ] ; if ( mdset -> find_metadata ( md -> type ( ) , md -> data ( ) ) != NULL ) { return true ; } } return false ; }
matching metadata.
matching metadata .
//specific mdata tests for presence of any of these in the metadata set //defaults to fail unless matches are found