Changeset 191


Ignore:
Timestamp:
1999-03-08T18:07:42+13:00 (25 years ago)
Author:
rjmcnab
Message:

Made some alterations to fit with the changes to the comtypes. Added the
"filteroptdefault" configuration option to alter default filter options.

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

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/colservr/collectserver.cpp

    r186 r191  
    1212/*
    1313   $Log$
     14   Revision 1.3  1999/03/08 05:07:42  rjmcnab
     15   Made some alterations to fit with the changes to the comtypes. Added the
     16   "filteroptdefault" configuration option to alter default filter options.
     17
    1418   Revision 1.2  1999/03/03 23:28:29  sjboddie
    1519
     
    2933collectserver::collectserver () {
    3034  configinfo.collection = "null";
     35
     36
     37  // set up the QueryFilter information
     38  FilterDescript_t &queryfilter = filterinfo.filterOptions["QueryFilter"];
     39  queryfilter.filterName = "QueryFilter";
     40
     41  // -- onePerQuery StartResults   integer
     42  FilterOption_t &qfopt1 = queryfilter.filterOptions["StartResults"];
     43  qfopt1.name = "StartResults";
     44  qfopt1.type = FilterOption_t::integert;
     45  qfopt1.repeatable = FilterOption_t::onePerQuery;
     46  qfopt1.defaultValue = 1;
     47  qfopt1.validValues.push_back ("1");
     48  qfopt1.validValues.push_back ("500");
     49
     50  // -- onePerQuery EndResults     integer
     51  FilterOption_t &qfopt2 = queryfilter.filterOptions["EndResults"];
     52  qfopt2.name = "EndResults";
     53  qfopt2.type = FilterOption_t::integert;
     54  qfopt2.repeatable = FilterOption_t::onePerQuery;
     55  qfopt2.defaultValue = 20;
     56  qfopt2.validValues.push_back ("1");
     57  qfopt2.validValues.push_back ("500");
     58
     59  // -- onePerQuery QueryType      enumerated (boolean, ranked)
     60  FilterOption_t &qfopt3 = queryfilter.filterOptions["QueryType"];
     61  qfopt3.name = "QueryType";
     62  qfopt3.type = FilterOption_t::enumeratedt;
     63  qfopt3.repeatable = FilterOption_t::onePerQuery;
     64  qfopt3.defaultValue = "boolean";
     65  qfopt3.validValues.push_back ("boolean");
     66  qfopt3.validValues.push_back ("ranked");
     67
     68  // -- onePerTerm  Term           string ???
     69  FilterOption_t &qfopt3b = queryfilter.filterOptions["Term"];
     70  qfopt3b.name = "Term";
     71  qfopt3b.type = FilterOption_t::stringt;
     72  qfopt3b.repeatable = FilterOption_t::onePerTerm;
     73  qfopt3b.defaultValue = "";
     74
     75  // -- onePerTerm  Casefold       boolean
     76  FilterOption_t &qfopt4 = queryfilter.filterOptions["Casefold"];
     77  qfopt4.name = "Casefold";
     78  qfopt4.type = FilterOption_t::booleant;
     79  qfopt4.repeatable = FilterOption_t::onePerTerm;
     80  qfopt4.defaultValue = "on";
     81  qfopt4.validValues.push_back ("on");
     82  qfopt4.validValues.push_back ("off");
     83
     84  // -- onePerTerm  Stem           boolean
     85  FilterOption_t &qfopt5 = queryfilter.filterOptions["Stem"];
     86  qfopt5.name = "Stem";
     87  qfopt5.type = FilterOption_t::booleant;
     88  qfopt5.repeatable = FilterOption_t::onePerTerm;
     89  qfopt5.defaultValue = "on";
     90  qfopt5.validValues.push_back ("on");
     91  qfopt5.validValues.push_back ("off");
     92
     93  // -- onePerTerm  Index          enumerated
     94  FilterOption_t &qfopt6 = queryfilter.filterOptions["Index"];
     95  qfopt6.name = "Index";
     96  qfopt6.type = FilterOption_t::enumeratedt;
     97  qfopt6.repeatable = FilterOption_t::onePerTerm;
     98  qfopt6.defaultValue = "";
     99
     100  // -- onePerTerm  Subcollection  enumerated
     101  FilterOption_t &qfopt7 = queryfilter.filterOptions["Subcollection"];
     102  qfopt7.name = "Subcollection";
     103  qfopt7.type = FilterOption_t::enumeratedt;
     104  qfopt7.repeatable = FilterOption_t::onePerTerm;
     105  qfopt7.defaultValue = "";
     106
     107
     108  // set up the BrowseFilter information
     109  FilterDescript_t &browsefilter = filterinfo.filterOptions["BrowseFilter"];
     110  browsefilter.filterName = "BrowseFilter";
     111 
     112  // -- onePerQuery StartResults   integer
     113  FilterOption_t &bfopt1 = browsefilter.filterOptions["StartResults"];
     114  bfopt1.name = "StartResults";
     115  bfopt1.type = FilterOption_t::integert;
     116  bfopt1.repeatable = FilterOption_t::onePerQuery;
     117  bfopt1.defaultValue = 1;
     118  bfopt1.validValues.push_back ("1");
     119  bfopt1.validValues.push_back ("500");
     120
     121  // -- onePerQuery EndResults     integer
     122  FilterOption_t &bfopt2 = browsefilter.filterOptions["EndResults"];
     123  bfopt2.name = "EndResults";
     124  bfopt2.type = FilterOption_t::integert;
     125  bfopt2.repeatable = FilterOption_t::onePerQuery;
     126  bfopt2.defaultValue = 20;
     127  bfopt2.validValues.push_back ("1");
     128  bfopt2.validValues.push_back ("500");
     129
     130  // -- onePerQuery ParentNode     string ("" will return the browsing available)
     131  FilterOption_t &bfopt3 = browsefilter.filterOptions["ParentNode"];
     132  bfopt3.name = "ParentNode";
     133  bfopt3.type = FilterOption_t::stringt;
     134  bfopt3.repeatable = FilterOption_t::onePerQuery;
     135  bfopt3.defaultValue = "";
    31136}
    32137
     
    38143// it contains. The configuration should take place just before initialisation.
    39144void collectserver::configure (const text_t &key, const text_tarray &cfgline) {
    40   // configure the collection server
    41   if (cfgline.size() >= 1) {
     145  if (key == "indexmap") configinfo.indexmap = cfgline;
     146  else if (key == "subcollectionmap") configinfo.subcollectionmap = cfgline;
     147  else if (key == "languagemap") configinfo.languagemap = cfgline;
     148 
     149  else if (cfgline.size() >= 1) {
    42150    const text_t &value = cfgline[0];
    43151    if (key == "gsdlhome") configinfo.gsdlhome = value;
     
    59167    else if (key == "numwords") collectinfo.numWords = value.getint();
    60168    else if (key == "numbytes") collectinfo.numBytes = value.getint();
     169
     170    else if ((key == "filteroptdefault") && (cfgline.size() == 2)) {
     171      // set this default for each type of filter
     172      FilterDescript_tmap::iterator filteropthere = filterinfo.filterOptions.begin();
     173      FilterDescript_tmap::iterator filteroptend = filterinfo.filterOptions.end();
     174
     175      while (filteropthere != filteroptend) {
     176    // see if this filter has an option with this name
     177    FilterOption_tmap &fotm = (*filteropthere).second.filterOptions;
     178    if (fotm.find(cfgline[0]) != fotm.end()) {
     179      (*(fotm.find(cfgline[0]))).second.defaultValue = cfgline[1];
     180    }
     181   
     182    filteropthere++;
     183      }
     184    }
    61185  }
    62186}
     
    82206void collectserver::get_filteroptions (InfoFilterOptionsResponse_t &response,
    83207                       comerror_t &err, ostream &/*logout*/) {
     208
    84209  err = noError;
    85210}
     
    88213                FilterResponse_t &response,
    89214                comerror_t &err, ostream &/*logout*/) {
     215  if (request.filterName == "QueryFilter") {
     216    // return documents
     217
     218
     219  } else {
     220  }
     221
     222
     223
    90224  err = noError;
    91225}
  • trunk/gsdl/src/colservr/collectserver.h

    r186 r191  
    3939  text_t collection;
    4040  text_t collectdir;
     41  text_tarray indexmap;
     42  text_tarray subcollectionmap;
     43  text_tarray languagemap;
    4144};
     45
    4246
    4347class collectserver {
     
    4549  colservrconf configinfo;
    4650  ColInfoResponse_t collectinfo;
     51  InfoFilterOptionsResponse_t filterinfo;
    4752public:
    4853  collectserver ();
Note: See TracChangeset for help on using the changeset viewer.