Changeset 28159
- Timestamp:
- 2013-08-27T10:45:38+12:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/cgiactions/metadataaction.pm
r28064 r28159 1 ########################################################################## #1 ########################################################################## 2 2 # 3 3 # metadataaction.pm -- … … 1064 1064 sub set_index_metadata_entry 1065 1065 { 1066 print STDERR "1\n"; 1066 1067 my $self = shift @_; 1067 1068 my ($collect_dir,$collect,$infodbtype,$docid,$metaname,$metapos,$metavalue,$metamode,$prevmetavalue) = @_; … … 1074 1075 my $infodb_file_path = &dbutil::get_infodb_file_path($infodbtype, $collect_tail, $index_text_directory); 1075 1076 1077 print STDERR "2\n"; 1076 1078 # print STDERR "**** infodb file path = $infodb_file_path\n"; 1077 1079 # print STDERR "***** infodb type = $infodbtype\n"; … … 1082 1084 # Set the metadata value 1083 1085 if (defined $metapos) { 1086 print STDERR "3\n"; 1084 1087 # if metamode=accumulate AND metapos, warn user and then use metapos 1085 1088 if (defined $metamode && $metamode eq "accumulate") { … … 1090 1093 } 1091 1094 elsif (defined $prevmetavalue) { 1095 print STDERR "4\n"; 1092 1096 my $array = $doc_rec->{$metaname}; 1093 1097 my $length = @$array; … … 1107 1111 } 1108 1112 elsif (defined $metamode && $metamode eq "override") { 1113 print STDERR "5\n"; 1109 1114 $doc_rec->{$metaname} = [ $metavalue ]; 1110 1115 } 1111 1116 else { # default for index was to override, but because accumulate is less destructive, 1112 1117 # and because accumulate is the default for archives and import, that's the new default for index too 1118 print STDERR "6\n"; 1113 1119 if(defined $doc_rec->{$metaname}) { 1114 1120 push(@{$doc_rec->{$metaname}}, $metavalue); # accumulate the value for that metaname … … 1117 1123 } 1118 1124 } 1125 print STDERR "6\n"; 1119 1126 1120 1127 my $status = &dbutil::set_infodb_entry($infodbtype, $infodb_file_path,$docid,$doc_rec); … … 1249 1256 sub _set_index_metadata 1250 1257 { 1258 print STDERR "START SET INDEX METADATA\n"; 1251 1259 my $self = shift @_; 1252 1260 … … 1266 1274 my $prevmetavalue = $self->{'prevmetavalue'}; 1267 1275 1276 print STDERR "SETTING INDEX METADATA ENTRY\n"; 1268 1277 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"; 1270 1279 if ($status != 0) { 1271 1280 # Catch error if set infodb entry failed … … 1287 1296 } 1288 1297 1298 print STDERR "END SET INDEX METADATA\n"; 1289 1299 #return $status; # in case calling functions have any further use for this 1290 1300 } … … 1920 1930 edit_doc_xml() 1921 1931 **************************** 1922 doc_xml_filename = $doc_xml_filename1923 metaname = $metaname1924 metavalue = $metavalue1925 metapos = $metapos1926 metamode = $metamode1927 opt_secnum = $opt_secnum1928 prevmetavalue = $prevmetavalue1929 ****************************1930 1932 RAWEND 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"; 1931 1943 1932 1944 $gsdl_cgi->generate_message($info_mess); … … 1960 1972 sub set_archives_metadata_entry 1961 1973 { 1962 1963 1964 1965 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; 1966 1978 **************************** 1967 1979 set_archives_metadata_entry() 1968 1980 **************************** 1969 archive_dir = $archive_dir1970 collect_dir = $collect_dir1971 collect = $collect1972 infodbtype = $infodbtype1973 docid = $docid1974 metaname = $metaname1975 metapos = $metapos1976 metavalue = $metavalue1977 metamode = $metamode1978 prevmetavalue = $prevmetavalue1979 ****************************1980 1981 RAWEND 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"; 1981 1995 1982 1996 $gsdl_cgi->generate_message($info_mess); … … 2542 2556 }; 2543 2557 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"] }; 2545 2559 my $description_element = [ "Description" => $description_attr ]; 2546 2560 … … 2822 2836 set_import_metadata_entry() 2823 2837 **************************** 2824 collect = $collect2825 collect_dir = $collect_dir2826 infodbtype = $infodbtype2827 arcinfo_doc_filename = $arcinfo_doc_filename2828 docid = $docid2829 metaname = $metaname2830 metapos = $metapos2831 metavalue = $metavalue2832 metamode = $metamode2833 prevmetavalue = $prevmetavalue2834 ****************************2835 2838 RAWEND 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"; 2836 2852 2837 2853 $gsdl_cgi->generate_message($info_mess);
Note:
See TracChangeset
for help on using the changeset viewer.