Changeset 13551
- Timestamp:
- 2007-01-10T14:16:43+13:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/classify/GenericList.pm
r13550 r13551 68 68 'type' => "metadata", 69 69 'deft' => "Title" }, 70 { 'name' => "sort_using_unicode_collation", 71 'desc' => "{GenericList.sort_using_unicode_collation}", 72 'type' => "flag" }, 70 73 { 'name' => "use_hlist_for", 71 74 'desc' => "{GenericList.use_hlist_for}", … … 160 163 } 161 164 $self->{'sort_leaf_nodes_using_metadata_groups'} = \@sort_leaf_nodes_using_metadata_groups; 165 166 # Create an instance of the Unicode::Collate object if better Unicode sorting is desired 167 if ($self->{'sort_using_unicode_collation'}) { 168 require Unicode::Collate; 169 $self->{'unicode_collator'} = Unicode::Collate->new(); 170 } 162 171 163 172 # An empty array for the document OIDs … … 309 318 if ($partition_type_within_level =~ /^per_letter$/i) { 310 319 # Generate one hlist for each letter 311 my @sortedmetavalues = sort(keys %metavaluetoOIDhash);320 my @sortedmetavalues = &sort_metadata_values_array($self, keys(%metavaluetoOIDhash)); 312 321 my %metavaluetoOIDsubhash = (); 313 322 … … 337 346 my $partition_size_within_level = $self->{$metadata_group . ".partition_size_within_level"}; 338 347 if ($partition_type_within_level =~ /^constant_size$/i && scalar(keys %metavaluetoOIDhash) > $partition_size_within_level) { 339 my @sortedmetavalues = sort(keys %metavaluetoOIDhash);348 my @sortedmetavalues = &sort_metadata_values_array($self, keys(%metavaluetoOIDhash)); 340 349 my $itemsdone = 0; 341 350 my %metavaluetoOIDsubhash = (); … … 471 480 472 481 # Create an entry in the vlist for each value 473 foreach my $metavalue ( sort(keys %metavaluetoOIDhash)) {482 foreach my $metavalue (&sort_metadata_values_array($self, keys(%metavaluetoOIDhash))) { 474 483 my @OIDs = @{$metavaluetoOIDhash{$metavalue}}; 475 484 … … 526 535 527 536 537 sub sort_metadata_values_array 538 { 539 my $self = shift(@_); 540 my @metadata_values = @_; 541 542 if ($self->{'unicode_collator'}) { 543 return $self->{'unicode_collator'}->sort(@metadata_values); 544 } 545 else { 546 return sort(@metadata_values); 547 } 548 } 549 550 528 551 1;
Note:
See TracChangeset
for help on using the changeset viewer.