Changeset 28159


Ignore:
Timestamp:
2013-08-27T10:45:38+12:00 (11 years ago)
Author:
davidb
Message:

rewrite to avoid undefined error on hash

File:
1 edited

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);
Note: See TracChangeset for help on using the changeset viewer.