| 199 | | text_t classifier_node_metadata_value = classifier_node_OID; |
|---|
| | 199 | |
|---|
| | 200 | // If grouping is enabled remove the grouping node bit from the start of the OID |
|---|
| | 201 | text_t classifier_node_OID_sans_grouping = classifier_node_OID; |
|---|
| | 202 | if (classifier_options["-group_by_first_character"] == "1") |
|---|
| | 203 | { |
|---|
| | 204 | text_t::iterator grouping_node_separator = findchar (classifier_node_OID.begin(), classifier_node_OID.end(), '.'); |
|---|
| | 205 | if (grouping_node_separator != classifier_node_OID.end()) |
|---|
| | 206 | { |
|---|
| | 207 | classifier_node_OID_sans_grouping = substr (grouping_node_separator + 1, classifier_node_OID.end()); |
|---|
| | 208 | } |
|---|
| | 209 | else |
|---|
| | 210 | { |
|---|
| | 211 | classifier_node_OID_sans_grouping = ""; |
|---|
| | 212 | } |
|---|
| | 213 | } |
|---|
| | 214 | |
|---|
| | 215 | // Split the classifier node OID into its hierarchical parts, then remove any we've already dealt with (HLists) |
|---|
| | 216 | text_tlist classifier_node_OID_parts_remaining; |
|---|
| | 217 | splitchar(classifier_node_OID_sans_grouping.begin(), classifier_node_OID_sans_grouping.end(), '|', classifier_node_OID_parts_remaining); |
|---|
| | 218 | if (classifier_options["-use_hlist_at_top"] == "1") |
|---|
| | 219 | { |
|---|
| | 220 | classifier_node_OID_parts_remaining.pop_front(); |
|---|
| | 221 | } |
|---|
| | 222 | |
|---|
| | 223 | text_t classifier_node_metadata_value = classifier_node_OID_sans_grouping; |
|---|
| 201 | | |
|---|
| 202 | | // Split the classifier node OID into its components, then remove any we've already dealt with |
|---|
| 203 | | text_tlist classifier_node_OID_parts_remaining; |
|---|
| 204 | | splitchar(classifier_node_OID.begin(), classifier_node_OID.end(), '|', classifier_node_OID_parts_remaining); |
|---|
| 205 | | if (classifier_options["-group_by_first_character"] == "1") |
|---|
| 206 | | { |
|---|
| 207 | | classifier_node_OID_parts_remaining.pop_front(); |
|---|
| 208 | | |
|---|
| 209 | | // Update classifier_node_metadata_value (and consequently the filter) to remove the grouping node component |
|---|
| 210 | | joinchar (classifier_node_OID_parts_remaining, '|', classifier_node_metadata_value); |
|---|
| 211 | | classifier_node_metadata_value_filter = classifier_node_metadata_value + "|*"; |
|---|
| 212 | | } |
|---|
| 213 | | if (classifier_options["-use_hlist_at_top"] == "1") |
|---|
| 214 | | { |
|---|
| 215 | | classifier_node_OID_parts_remaining.pop_front(); |
|---|
| 216 | | } |
|---|