Changeset 15806


Ignore:
Timestamp:
2008-05-29T16:22:45+12:00 (16 years ago)
Author:
mdewsnip
Message:

(Adding dynamic classifiers) Adding a get_documents_with_metadata_value() function for accessing the sqlitedbclass::get_documents_with_metadata_values() function through the protocol.

Location:
gsdl/trunk/src/protocol
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • gsdl/trunk/src/protocol/recptprototools.cpp

    r15802 r15806  
    251251
    252252
    253 bool get_metadata_values (const text_t metadata_element, const text_t &collection,
     253bool get_metadata_values (const text_t metadata_element_name, const text_t &collection,
    254254              recptproto *collectproto, FilterResponse_t &response, ostream &logout)
    255255{
     
    265265  OptionValue_t request_option;
    266266  request_option.name = "MetadataElement";
    267   request_option.value = metadata_element;
     267  request_option.value = metadata_element_name;
    268268  request.filterOptions.push_back (request_option);
    269269
     
    274274    outconvertclass text_t2ascii;
    275275    logout << text_t2ascii
    276        << "Error: call to filter failed for " << metadata_element
     276       << "Error: call to filter failed for " << metadata_element_name
    277277       << " in OIDtools::get_metadata_values ("
    278278       << get_comerror_string (err) << ")\n";
     
    282282  return true;
    283283}
     284
     285
     286bool get_documents_with_metadata_value (const text_t metadata_element_name, const text_t metadata_value,
     287                    const text_t &collection, recptproto *collectproto,
     288                    FilterResponse_t &response, ostream &logout)
     289{
     290  response.clear();
     291
     292  comerror_t err = noError;
     293  FilterRequest_t request;
     294  request.clear();
     295
     296  request.filterName = "SQLBrowseFilter";
     297  request.requestParams = "GetDocumentsWithMetadataValue";
     298
     299  OptionValue_t request_option;
     300  request_option.name = "MetadataElement";
     301  request_option.value = metadata_element_name;
     302  request.filterOptions.push_back (request_option);
     303  request_option.name = "MetadataValue";
     304  request_option.value = metadata_value;
     305  request.filterOptions.push_back (request_option);
     306
     307  assert (collectproto != NULL);
     308  collectproto->filter (collection, request, response, err, logout);
     309  if (err != noError)
     310  {
     311    outconvertclass text_t2ascii;
     312    logout << text_t2ascii
     313       << "Error: call to filter failed for " << metadata_element_name << " = " << metadata_value
     314       << " in OIDtools::get_documents_with_metadata_value ("
     315       << get_comerror_string (err) << ")\n";
     316    return false;
     317  }
     318 
     319  return true;
     320}
  • gsdl/trunk/src/protocol/recptprototools.h

    r15761 r15806  
    6868           ostream &logout);
    6969
    70 bool get_metadata_values (const text_t metadata_element, const text_t &collection,
     70bool get_metadata_values (const text_t metadata_element_name, const text_t &collection,
    7171              recptproto *collectproto, FilterResponse_t &response, ostream &logout);
    7272
     73bool get_documents_with_metadata_value (const text_t metadata_element_name, const text_t metadata_value,
     74                    const text_t &collection, recptproto *collectproto,
     75                    FilterResponse_t &response, ostream &logout);
     76
    7377#endif
Note: See TracChangeset for help on using the changeset viewer.