Changeset 18455 for gsdl/trunk/perllib/classify/HFileHierarchy.pm
- Timestamp:
- 2009-02-03T09:46:33+13:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/classify/HFileHierarchy.pm
r17209 r18455 197 197 { 198 198 my $self = shift (@_); 199 my ($doc_obj,$sortmeta,$metavalues) = @_; 199 my ($doc_obj,$edit_mode,$sortmeta,$metavalues) = @_; 200 201 my $outhandle = $self->{'outhandle'}; 200 202 201 203 my $doc_OID = $doc_obj->get_OID(); … … 204 206 if ((defined $self->{'descriptorlist'}->{$metaelement}) && 205 207 (defined $self->{'locatorlist'}->{$self->{'descriptorlist'}->{$metaelement}})) { 206 push (@{$self->{'locatorlist'}->{$self->{'descriptorlist'}->{$metaelement}}->{'contents'}}, 207 [$doc_OID, $sortmeta]); 208 my $localid = $self->{'descriptorlist'}->{$metaelement}; 209 my $classid = $self->get_number(); 210 211 $doc_obj->add_metadata($doc_obj->get_top_section(), "memberof", "CL$classid.$localid"); 208 209 if ($edit_mode eq "delete") { 210 # find it, and remove it 211 my $existing_list = $self->{'locatorlist'}->{$self->{'descriptorlist'}->{$metaelement}}->{'contents'}; 212 213 my $filtered_list = []; 214 foreach my $existing_oid_pair (@$existing_list) { 215 if ($existing_oid_pair->[0] eq $doc_OID) { 216 print $outhandle " Deleting $doc_OID for $metaelement in hierarchy\n"; 217 } 218 else { 219 push(@$filtered_list,$existing_oid_pair); 220 } 221 } 222 $self->{'locatorlist'}->{$self->{'descriptorlist'}->{$metaelement}}->{'contents'} = $filtered_list; 223 } 224 else { 225 push (@{$self->{'locatorlist'}->{$self->{'descriptorlist'}->{$metaelement}}->{'contents'}}, 226 [$doc_OID, $sortmeta]); 227 my $localid = $self->{'descriptorlist'}->{$metaelement}; 228 my $classid = $self->get_number(); 229 230 $doc_obj->add_metadata($doc_obj->get_top_section(), "memberof", "CL$classid.$localid"); 231 } 212 232 } 213 233 }
Note:
See TracChangeset
for help on using the changeset viewer.