Changeset 16048


Ignore:
Timestamp:
2008-06-18T15:17:53+12:00 (16 years ago)
Author:
mdewsnip
Message:

(Adding dynamic classifiers) Changed output_top_level_page() to output_top_level_nodes(), added two more parameters, and started to change to be more like output_internal_page().

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

Legend:

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

    r16046 r16048  
    165165  }
    166166
     167  // Simple case for the top-level nodes
    167168  if (args["dcn"] == selected_grouping_node_OID)
    168169  {
    169     // Simple case for the top-level page
    170     output_top_level_page (classifier_options, args, collectproto, browsers, disp, outconvert, textout, logout);
     170    text_t classifier_node_OID = selected_grouping_node_OID;
     171    text_t metadata_value_filter = selected_grouping_node_OID + "*";
     172    output_top_level_nodes (classifier_node_OID, metadata_value_filter, classifier_options, args, collectproto, browsers, disp, outconvert, textout, logout);
    171173  }
    172174  else
     
    292294
    293295
    294 void dynamicclassifieraction::output_top_level_page (text_tmap classifier_options, cgiargsclass &args,
    295                              recptproto *collectproto, browsermapclass *browsers,
    296                              displayclass &disp, outconvertclass &outconvert,
    297                              ostream &textout, ostream &logout)
     296void dynamicclassifieraction::output_top_level_nodes (text_t classifier_node_OID, text_t metadata_value_filter,
     297                              text_tmap classifier_options, cgiargsclass &args,
     298                              recptproto *collectproto, browsermapclass *browsers,
     299                              displayclass &disp, outconvertclass &outconvert,
     300                              ostream &textout, ostream &logout)
    298301{
    299302  // Get all the metadata values for the specified element (these become the classifier nodes at the top level)
    300303  text_t metadata_element_name = classifier_options["metadata_element_name"];
    301304  FilterResponse_t metadata_values_response;
    302   bool request_success = get_metadata_values (metadata_element_name, "", "", args["c"], collectproto, metadata_values_response, logout);
     305  bool request_success = get_metadata_values (metadata_element_name, metadata_value_filter, "", args["c"], collectproto, metadata_values_response, logout);
    303306
    304307  // If the request failed then it's probably because the collection isn't using an SQL infodbtype
     
    309312  }
    310313
    311   // After processing any hierarchical metadata values, we're left with the top-level classifer nodes
    312   map<text_t, int, lttext_t> classifier_nodes = process_metadata_values (classifier_options, metadata_values_response.docInfo);
    313 
    314   // Display the top-level classifier nodes
    315   map<text_t, int, lttext_t>::iterator classifier_nodes_iterator = classifier_nodes.begin();
    316   while (classifier_nodes_iterator != classifier_nodes.end())
    317   {
    318     text_t classifier_node_OID = (*classifier_nodes_iterator).first;
    319     text_t classifier_node_label = (*classifier_nodes_iterator).first;
    320     int classifier_node_numleafdocs = (*classifier_nodes_iterator).second;
    321     output_classifier_node (classifier_node_OID, classifier_node_label, classifier_node_numleafdocs, 0, args, collectproto, browsers, disp, outconvert, textout, logout);
    322     classifier_nodes_iterator++;
     314  // After processing any hierarchical metadata values, we're left with the child classifer nodes
     315  map<text_t, int, lttext_t> child_classifier_nodes = process_metadata_values (classifier_options, metadata_values_response.docInfo);
     316
     317  // Display the child classifier nodes
     318  map<text_t, int, lttext_t>::iterator child_classifier_nodes_iterator = child_classifier_nodes.begin();
     319  while (child_classifier_nodes_iterator != child_classifier_nodes.end())
     320  {
     321    text_t child_classifier_node_OID = (*child_classifier_nodes_iterator).first;
     322    text_t child_classifier_node_label = (*child_classifier_nodes_iterator).first;
     323    int child_classifier_node_numleafdocs = (*child_classifier_nodes_iterator).second;
     324    output_classifier_node (child_classifier_node_OID, child_classifier_node_label, child_classifier_node_numleafdocs, 0, args, collectproto, browsers, disp, outconvert, textout, logout);
     325    child_classifier_nodes_iterator++;
    323326  }
    324327}
  • gsdl/trunk/src/recpt/dynamicclassifieraction.h

    r16046 r16048  
    7070                ostream &textout, ostream &logout);
    7171
    72   void output_top_level_page (text_tmap classifier_options, cgiargsclass &args,
    73                   recptproto *collectproto, browsermapclass *browsers,
    74                   displayclass &disp, outconvertclass &outconvert,
    75                   ostream &textout, ostream &logout);
     72  void output_top_level_nodes (text_t classifier_node_OID, text_t metadata_value_filter,
     73                   text_tmap classifier_options, cgiargsclass &args,
     74                   recptproto *collectproto, browsermapclass *browsers,
     75                   displayclass &disp, outconvertclass &outconvert,
     76                   ostream &textout, ostream &logout);
    7677
    7778  void output_internal_page (text_tmap classifier_options, cgiargsclass &args,
Note: See TracChangeset for help on using the changeset viewer.