Changeset 28159

Show
Ignore:
Timestamp:
27.08.2013 10:45:38 (6 years ago)
Author:
davidb
Message:

rewrite to avoid undefined error on hash

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/perllib/cgiactions/metadataaction.pm

    r28064 r28159  
    1 ########################################################################### 
     1########################################################################## 
    22# 
    33# metadataaction.pm --  
     
    10641064sub set_index_metadata_entry 
    10651065{ 
     1066    print STDERR "1\n"; 
    10661067    my $self = shift @_; 
    10671068    my ($collect_dir,$collect,$infodbtype,$docid,$metaname,$metapos,$metavalue,$metamode,$prevmetavalue) = @_; 
     
    10741075    my $infodb_file_path = &dbutil::get_infodb_file_path($infodbtype, $collect_tail, $index_text_directory); 
    10751076     
     1077    print STDERR "2\n"; 
    10761078#   print STDERR "**** infodb file path = $infodb_file_path\n"; 
    10771079#   print STDERR "***** infodb type = $infodbtype\n"; 
     
    10821084    # Set the metadata value 
    10831085    if (defined $metapos) { 
     1086    print STDERR "3\n"; 
    10841087    # if metamode=accumulate AND metapos, warn user and then use metapos 
    10851088    if (defined $metamode && $metamode eq "accumulate") { 
     
    10901093    } 
    10911094    elsif (defined $prevmetavalue) { 
     1095    print STDERR "4\n"; 
    10921096        my $array = $doc_rec->{$metaname}; 
    10931097        my $length = @$array; 
     
    11071111    } 
    11081112    elsif (defined $metamode && $metamode eq "override") { 
     1113    print STDERR "5\n"; 
    11091114    $doc_rec->{$metaname} = [ $metavalue ];  
    11101115    } 
    11111116    else { # default for index was to override, but because accumulate is less destructive,  
    11121117    # and because accumulate is the default for archives and import, that's the new default for index too 
     1118    print STDERR "6\n"; 
    11131119    if(defined $doc_rec->{$metaname}) { 
    11141120        push(@{$doc_rec->{$metaname}}, $metavalue); # accumulate the value for that metaname 
     
    11171123    } 
    11181124    } 
     1125    print STDERR "6\n"; 
    11191126  
    11201127    my $status = &dbutil::set_infodb_entry($infodbtype, $infodb_file_path,$docid,$doc_rec); 
     
    12491256sub _set_index_metadata 
    12501257{ 
     1258    print STDERR "START SET INDEX METADATA\n"; 
    12511259    my $self = shift @_; 
    12521260 
     
    12661274    my $prevmetavalue = $self->{'prevmetavalue'}; 
    12671275 
     1276    print STDERR "SETTING INDEX METADATA ENTRY\n"; 
    12681277    my $status = $self->set_index_metadata_entry($collect_dir,$collect,$infodbtype,$docid,$metaname,$metapos,$metavalue,$metamode,$prevmetavalue); 
    1269      
     1278    print STDERR "DONE SETTING INDEX METADATA ENTRY\n"; 
    12701279    if ($status != 0) { 
    12711280        # Catch error if set infodb entry failed 
     
    12871296    } 
    12881297 
     1298    print STDERR "END SET INDEX METADATA\n"; 
    12891299    #return $status; # in case calling functions have any further use for this 
    12901300} 
     
    19201930  edit_doc_xml() 
    19211931**************************** 
    1922 doc_xml_filename = $doc_xml_filename 
    1923 metaname = $metaname 
    1924 metavalue = $metavalue 
    1925 metapos = $metapos 
    1926 metamode = $metamode 
    1927 opt_secnum = $opt_secnum 
    1928 prevmetavalue = $prevmetavalue 
    1929 **************************** 
    19301932RAWEND 
     1933 
     1934    $info_mess .= " doc_xml_filename = $doc_xml_filename\n" if defined($doc_xml_filename); 
     1935    $info_mess .= " metaname    = $metaname\n"    if defined($metaname); 
     1936    $info_mess .= " metapos     = $metapos\n"     if defined($metapos); 
     1937    $info_mess .= " metavalue   = $metavalue\n"   if defined($metavalue); 
     1938    $info_mess .= " metamode    = $metamode\n"    if defined($metamode); 
     1939    $info_mess .= " opt_secnum  = $opt_secnum\n"  if defined($opt_secnum); 
     1940    $info_mess .= " prevmetaval = $prevmetavalue\n" if defined($prevmetavalue); 
     1941      
     1942    $info_mess .= "****************************\n"; 
    19311943 
    19321944    $gsdl_cgi->generate_message($info_mess); 
     
    19601972sub set_archives_metadata_entry 
    19611973{ 
    1962     my $self = shift @_; 
    1963     my ($gsdl_cgi, $archive_dir, $collect_dir, $collect, $infodbtype, $docid, $metaname, $metapos, $metavalue, $metamode, $prevmetavalue) = @_; 
    1964      
    1965     my $info_mess = <<RAWEND; 
     1974    my $self = shift @_; 
     1975    my ($gsdl_cgi, $archive_dir, $collect_dir, $collect, $infodbtype, $docid, $metaname, $metapos, $metavalue, $metamode, $prevmetavalue) = @_; 
     1976 
     1977    my $info_mess = <<RAWEND; 
    19661978**************************** 
    19671979  set_archives_metadata_entry() 
    19681980**************************** 
    1969 archive_dir = $archive_dir 
    1970 collect_dir = $collect_dir 
    1971 collect = $collect 
    1972 infodbtype = $infodbtype 
    1973 docid = $docid 
    1974 metaname = $metaname 
    1975 metapos = $metapos 
    1976 metavalue = $metavalue 
    1977 metamode = $metamode 
    1978 prevmetavalue = $prevmetavalue 
    1979 **************************** 
    19801981RAWEND 
     1982 
     1983    $info_mess .= " archive_dir = $archive_dir\n" if defined($archive_dir); 
     1984    $info_mess .= " collect_dir = $collect_dir\n" if defined($collect_dir); 
     1985    $info_mess .= " collect     = $collect\n"     if defined($collect); 
     1986    $info_mess .= " infodbtype  = $infodbtype\n"  if defined($infodbtype); 
     1987    $info_mess .= " docid       = $docid\n"       if defined($docid); 
     1988    $info_mess .= " metaname    = $metaname\n"    if defined($metaname); 
     1989    $info_mess .= " metapos     = $metapos\n"     if defined($metapos); 
     1990    $info_mess .= " metavalue   = $metavalue\n"   if defined($metavalue); 
     1991    $info_mess .= " metamode    = $metamode\n"    if defined($metamode); 
     1992    $info_mess .= " prevmetaval = $prevmetavalue\n" if defined($prevmetavalue); 
     1993      
     1994    $info_mess .= "****************************\n"; 
    19811995 
    19821996    $gsdl_cgi->generate_message($info_mess); 
     
    25422556    }; 
    25432557    my $append_metadata = [ "Metadata" => $metadata_attr ]; 
    2544     my $description_attr->{'_content'} = [ "\n\t\t   ", $append_metadata, "\n\t\t"]; 
     2558    my $description_attr = { '_content' => [ "\n\t\t   ", $append_metadata, "\n\t\t"] }; 
    25452559    my $description_element = [ "Description" => $description_attr ]; 
    25462560 
     
    28222836  set_import_metadata_entry() 
    28232837**************************** 
    2824 collect = $collect 
    2825 collect_dir = $collect_dir 
    2826 infodbtype = $infodbtype 
    2827 arcinfo_doc_filename = $arcinfo_doc_filename 
    2828 docid = $docid 
    2829 metaname = $metaname 
    2830 metapos = $metapos 
    2831 metavalue = $metavalue 
    2832 metamode = $metamode 
    2833 prevmetavalue = $prevmetavalue 
    2834 **************************** 
    28352838RAWEND 
     2839 
     2840    $info_mess .= " collect_dir = $collect_dir\n" if defined($collect_dir); 
     2841    $info_mess .= " collect     = $collect\n"     if defined($collect); 
     2842    $info_mess .= " infodbtype  = $infodbtype\n"  if defined($infodbtype); 
     2843    $info_mess .= " arcinfo_doc_filename  = $arcinfo_doc_filename\n"  if defined($arcinfo_doc_filename); 
     2844    $info_mess .= " docid       = $docid\n"       if defined($docid); 
     2845    $info_mess .= " metaname    = $metaname\n"    if defined($metaname); 
     2846    $info_mess .= " metapos     = $metapos\n"     if defined($metapos); 
     2847    $info_mess .= " metavalue   = $metavalue\n"   if defined($metavalue); 
     2848    $info_mess .= " metamode    = $metamode\n"    if defined($metamode); 
     2849    $info_mess .= " prevmetaval = $prevmetavalue\n" if defined($prevmetavalue); 
     2850      
     2851    $info_mess .= "****************************\n"; 
    28362852 
    28372853    $gsdl_cgi->generate_message($info_mess);