Changeset 13272
- Timestamp:
- 2006-11-15T13:30:40+13:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/classify/GenericList.pm
r13271 r13272 280 280 # print STDERR "Number of OID values: " . @OIDs . "\n"; 281 281 282 my %OIDtometavalue hash = %{$self->{$metadata_group . ".list"}};282 my %OIDtometavalueshash = %{$self->{$metadata_group . ".list"}}; 283 283 284 284 # Create a mapping from metadata value to OID 285 285 my %metavaluetoOIDhash = (); 286 286 foreach my $OID (@OIDs) { 287 if ($OIDtometavalue hash{$OID}) {288 my @metavalues = @{$OIDtometavalue hash{$OID}};287 if ($OIDtometavalueshash{$OID}) { 288 my @metavalues = @{$OIDtometavalueshash{$OID}}; 289 289 foreach my $metavalue (@metavalues) { 290 290 push(@{$metavaluetoOIDhash{$metavalue}}, $OID); … … 453 453 # Find the offset of this metadata value 454 454 my $offset = 0; 455 my %OIDtometavalue hash = %{$self->{$metadata_group . ".list"}};456 my @metavalues = @{$OIDtometavalue hash{$OID}};455 my %OIDtometavalueshash = %{$self->{$metadata_group . ".list"}}; 456 my @metavalues = @{$OIDtometavalueshash{$OID}}; 457 457 for (my $i = 0; $i < scalar(@metavalues); $i++) { 458 458 if ($metavalue eq $metavalues[$i]) { … … 481 481 my @sort_leaf_nodes_usingmetadata_groups = @{$self->{'sort_leaf_nodes_using_metadata_groups'}}; 482 482 foreach my $sort_leaf_nodes_usingmetaelem (reverse @sort_leaf_nodes_usingmetadata_groups) { 483 my %OIDtometavalue hash = %{$self->{$sort_leaf_nodes_usingmetaelem . ".list"}};483 my %OIDtometavalueshash = %{$self->{$sort_leaf_nodes_usingmetaelem . ".list"}}; 484 484 # Force a stable sort (Perl 5.6's sort isn't stable) 485 485 # !! The [0] bits aren't ideal (multiple metadata values) !! 486 @OIDs = @OIDs[ sort { $OIDtometavalue hash{$OIDs[$a]}[0] cmp $OIDtometavaluehash{$OIDs[$b]}[0] || $a <=> $b; } 0..$#OIDs ];486 @OIDs = @OIDs[ sort { $OIDtometavalueshash{$OIDs[$a]}[0] cmp $OIDtometavalueshash{$OIDs[$b]}[0] || $a <=> $b; } 0..$#OIDs ]; 487 487 } 488 488
Note:
See TracChangeset
for help on using the changeset viewer.