greenstone.org greenstone wiki greenstone trac planet greenstone

Changeset 15802

Show
Ignore:
Timestamp:
2008-05-29 15:48:58 (6 months ago)
Author:
mdewsnip
Message:

(Adding dynamic classifiers) Changing the way information is stored in FilterRequest?_t objects for the sqlbrowsefilter requests.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gsdl/trunk/src/colservr/comtypes.h

    r15771 r15802  
    241241// used to indicate a full text browse query for mgpp 
    242242#define FRfullTextBrowse  128 
    243 #define FRmetadataValues  256 
    244243 
    245244struct FilterRequest_t { 
  • gsdl/trunk/src/colservr/sqlbrowsefilter.cpp

    r15797 r15802  
    107107 
    108108  // Request for the metadata values assigned to an element 
    109   if ((request.filterResultOptions & FRmetadataValues) && !request.fields.empty()
     109  if (request.requestParams == "GetMetadataValues"
    110110  { 
    111     text_t metadata_element_name = *(request.fields.begin()); 
     111    text_t metadata_element_name = ""; 
     112    OptionValue_tarray::const_iterator options_iterator = request.filterOptions.begin(); 
     113    while (options_iterator != request.filterOptions.end()) 
     114    { 
     115      if ((*options_iterator).name == "MetadataElement") 
     116      { 
     117        metadata_element_name = (*options_iterator).value; 
     118      } 
     119      options_iterator++; 
     120    } 
     121 
    112122    text_tarray metadata_values = sql_db_ptr->get_metadata_values (metadata_element_name); 
    113123 
  • gsdl/trunk/src/protocol/recptprototools.cpp

    r15761 r15802  
    261261 
    262262  request.filterName = "SQLBrowseFilter"; 
    263   request.filterResultOptions = FRmetadataValues; 
    264   request.fields.insert (metadata_element); 
     263  request.requestParams = "GetMetadataValues"; 
     264 
     265  OptionValue_t request_option; 
     266  request_option.name = "MetadataElement"; 
     267  request_option.value = metadata_element; 
     268  request.filterOptions.push_back (request_option); 
     269 
    265270  assert (collectproto != NULL); 
    266  
    267271  collectproto->filter (collection, request, response, err, logout); 
    268272  if (err != noError)