Changeset 15772


Ignore:
Timestamp:
2008-05-29T10:10:12+12:00 (16 years ago)
Author:
mdewsnip
Message:

(Adding dynamic classifiers) Adding "dcn" argument specification, and use this with the collectinfo.dynamic_classifiers fields to allow the classifier to be chosen from the CGI args.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gsdl/trunk/src/recpt/dynamicclassifieraction.cpp

    r15768 r15772  
    3131{
    3232  recpt = NULL;
     33
     34  cgiarginfo arg_ainfo;
     35  arg_ainfo.shortname = "dcn";
     36  arg_ainfo.longname = "dynamic classifier node";
     37  arg_ainfo.multiplechar = true;
     38  arg_ainfo.defaultstatus = cgiarginfo::weak;
     39  arg_ainfo.argdefault = "";
     40  arg_ainfo.savedarginfo = cgiarginfo::must;
     41  argsinfo.addarginfo (NULL, arg_ainfo);
    3342}
    3443
     
    9099  textout << outconvert << disp << "_document:content_\n";
    91100
     101  text_t arg_dcn = args["dcn"];
     102  if (arg_dcn.empty())
     103  {
     104    textout << outconvert << disp << "Error: Missing \"dcn\" value.\n";
     105    textout << outconvert << disp << "_document:footer_\n";
     106    return false;
     107  }
     108
     109  ColInfoResponse_t *cinfo = recpt->get_collectinfo_ptr (collectproto, args["c"], logout);
     110  if (cinfo->dynamic_classifiers.find(arg_dcn) == cinfo->dynamic_classifiers.end())
     111  {
     112    textout << outconvert << disp << "Error: Invalid \"dcn\" value " << arg_dcn << ".\n";
     113    textout << outconvert << disp << "_document:footer_\n";
     114    return false;
     115  }
     116
     117  text_t metadata_element_name = cinfo->dynamic_classifiers[arg_dcn];
    92118  FilterResponse_t metadata_values_response;
    93   get_metadata_values ("dls.Organization", args["c"], collectproto, metadata_values_response, logout);
     119  get_metadata_values (metadata_element_name, args["c"], collectproto, metadata_values_response, logout);
    94120
    95121  ResultDocInfo_tarray::iterator metadata_value_iterator = metadata_values_response.docInfo.begin();
     
    114140
    115141  textout << outconvert << disp << "_document:footer_\n";
    116 
    117142  return true;
    118143}
Note: See TracChangeset for help on using the changeset viewer.