Changeset 10218 for trunk/gsdl/perllib/classify/HFileHierarchy.pm
- Timestamp:
- 2005-07-06T15:27:45+12:00 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/classify/HFileHierarchy.pm
r9206 r10218 51 51 'type' => "flag", 52 52 'reqd' => "no" }, 53 { 'name' => "sort",54 'desc' => "{Hierarchy.sort}",55 'type' => "string",56 'deft' => "{BasClas.metadata.deft}",57 'reqd' => "no" },58 53 { 'name' => "hfile", 59 54 'desc' => "{Hierarchy.hfile}", … … 69 64 'desc' => "{Hierarchy.sort}", 70 65 'type' => "string", 71 'deft' => "{BasClas.metadata.deft}",66 # 'deft' => "{BasClas.metadata.deft}", 72 67 'reqd' => "no" }, 73 68 { 'name' => "reverse_sort", … … 82 77 my $options = 83 78 { 'name' => "HFileHierarchy", 84 'desc' => "{H ierarchy.desc}",79 'desc' => "{HFileHierarchy.desc}", 85 80 'abstract' => "yes", 86 81 'inherits' => "yes", … … 89 84 90 85 sub new { 91 my $class = shift (@_); 92 my $self = new BasClas($class, @_); 93 94 my $option_list = $self->{'option_list'}; 95 push( @{$option_list}, $options ); 96 97 if ($self->{'info_only'}) { 98 # created from classinfo.pl - don't need to parse the arguments 99 return bless $self, $class; 100 } 101 102 my ($hfile, $metadata, $buttonname, $sortname, $reverse_sort, $title, 103 $hlist_at_top); 104 my $firstvalueonly = 0; 105 my $allvalues = 0; 106 107 if (!parsargv::parse(\@_, 108 q^metadata/.*/^, \$metadata, 109 q^buttonname/.*/^, \$buttonname, 110 q^firstvalueonly^, \$firstvalueonly, 111 q^allvalues^, \$allvalues, 112 q^sort/.*/^, \$sortname, 113 q^reverse_sort^, \$reverse_sort, 114 q^hfile/.*/^, \$hfile, 115 q^hlist_at_top^, \$hlist_at_top, 116 "allow_extra_options")) { 117 118 print STDERR "\nIncorrect options passed to $class, check your collect.cfg file\n"; 119 $self->print_txt_usage(""); # Use default resource bundle 120 die "\n"; 121 122 } 123 86 my ($class) = shift (@_); 87 my ($classifierslist,$inputargs,$hashArgOptLists) = @_; 88 push(@$classifierslist, $class); 89 90 if(defined $arguments){ push(@{$hashArgOptLists->{"ArgList"}},@{$arguments});} 91 if(defined $options) { push(@{$hashArgOptLists->{"OptList"}},$options)}; 92 93 my $self = (defined $hashArgOptLists)? new BasClas($classifierslist,$inputargs,$hashArgOptLists): new BasClas($classifierslist,$inputargs); 94 95 my $metadata = $self->{'metadata'}; 124 96 if (!$metadata) { 125 97 print STDERR "$class Error: required option -metadata not supplied\n"; … … 129 101 } 130 102 131 $buttonname = $self->generate_title_from_metadata($metadata) unless ($buttonname); 132 $title = $buttonname; 133 $self->{'title'} = $title; 134 135 $self->{'metaname'} = $metadata; 103 $self->{'buttonname'} = $self->generate_title_from_metadata($metadata) unless ($self->{'buttonname'}); 104 105 #$self->{'metaname'} = $metadata; 136 106 my @meta_list = split(/,/, $metadata); 137 107 $self->{'meta_list'} = \@meta_list; 108 109 print STDERR "sort = $self->{'sort'}\n"; 110 # sort = undef in this case is the same as sort=nosort 111 if ($self->{'sort'} eq "nosort") { 112 $self->{'sort'} = undef; 113 } 138 114 139 115 # sortname is handled a bit differently - kjdon … … 142 118 # we have a list of possible metadata. 143 119 # To get no sorting, set sortname = 'nosort' 144 if (!$sortname) { 145 if (defined ($metadata)) { 146 $sortname = undef; 147 } else { 148 $sortname = "nosort"; 149 } 150 } 151 $self->{'sortname'} = $sortname; 152 153 if (defined $sortname && $reverse_sort) { 154 $self->{'reverse_sort'} = 1; 155 } 120 # we don't need to set it to undef if its not defined do we??? 121 122 # if (!$self->{'sort'}) { 123 # if (defined ($metadata)) { 124 # $sortname = undef; 125 # } else { 126 # $sortname = "nosort"; 127 # } 128 # } 129 # $self->{'sortname'} = $sortname; 130 131 #if (defined $self->{'sort'} && $reverse_sort) { 132 # $self->{'reverse_sort'} = 1; 133 # } 156 134 157 if ($hfile) { 135 if ($self->{'hfile'}) { 136 my $hfile = $self->{'hfile'}; 158 137 my $subjectfile; 159 138 $subjectfile = &util::filename_cat($ENV{'GSDLCOLLECTDIR'},"etc", $hfile); … … 177 156 178 157 179 $self->{'firstvalueonly'} = $firstvalueonly; 180 $self->{'allvalues'} = $allvalues; 181 182 $self->{'hlist_at_top'} = $hlist_at_top; 183 158 # $self->{'firstvalueonly'} = $firstvalueonly; 159 # $self->{'allvalues'} = $allvalues; 160 161 #$self->{'hlist_at_top'} = $hlist_at_top; 162 163 # Clean out the unused keys 164 delete $self->{'metadata'}; 165 delete $self->{'hfile'}; 184 166 185 167 return bless $self, $class; … … 240 222 my $tempinfo = $self->get_OID_entry ($OID, $classifyinfo, $list->{$OID}->{'title'}, "VList"); 241 223 242 if (defined $self->{'sort name'}) {224 if (defined $self->{'sort'}) { 243 225 if ($self->{'reverse_sort'}) { 244 226 foreach $subOID (sort {$b->[1] cmp $a->[1];} @{$list->{$OID}->{'contents'}}) {
Note:
See TracChangeset
for help on using the changeset viewer.