Changeset 17026 for gsdl/trunk/perllib/plugins/EmailPlugin.pm
- Timestamp:
- 2008-08-27T20:40:20+12:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/plugins/EmailPlugin.pm
r16677 r17026 80 80 } 81 81 82 my $extended_oidtype_list = 83 [ {'name' => "message_id", 84 'desc' => "{EmailPlugin.OIDtype.message_id}" } 85 ]; 86 87 # add in all the standard options from BasePlugin 88 push (@$extended_oidtype_list, @{$BasePlugin::oidtype_list}); 82 89 83 90 my $arguments = … … 95 102 'type' => "flag", 96 103 'reqd' => "no" }, 104 { 'name' => "OIDtype", 105 'desc' => "{import.OIDtype}", 106 'type' => "enum", 107 'list' => $extended_oidtype_list, 108 'deft' => "messsage_id", 109 'reqd' => "no", 110 'modegli' => "2" }, 111 { 'name' => "OIDmetadata", 112 'desc' => "{import.OIDmetadata}", 113 'type' => "metadata", 114 'deft' => "dc.Identifier", 115 'reqd' => "no", 116 'modegli' => "2" }, 97 117 { 'name' => "split_exp", 98 118 'desc' => "{EmailPlugin.split_exp}", … … 1161 1181 } 1162 1182 1163 1164 sub set_OID { 1183 sub get_base_OID { 1184 my $self = shift(@_); 1185 my ($doc_obj) = @_; 1186 1187 ## TODO: need a valid id in case there is no message id... 1188 if ($self->{'OIDtype'} eq "message_id") { 1189 # temporarily set OIDtype to hash to get a base id 1190 $self->{'OIDtype'} = "hash_on_ga_xml"; 1191 $self->add_OID($doc_obj); 1192 my $id = $doc_obj->get_OID(); 1193 $self->{'OIDtype'} = "message_id"; 1194 return $id; 1195 } 1196 return $self->SUPER::get_base_OID(@_); 1197 } 1198 1199 1200 sub add_OID { 1165 1201 my $self = shift (@_); 1166 1202 my ($doc_obj, $id, $segment_number) = @_; 1167 1203 1168 if ( exists $doc_obj->{'msgid'} ) {1204 if ($self->{'OIDtype'} eq "message_id" && exists $doc_obj->{'msgid'} ) { 1169 1205 $doc_obj->set_OID($doc_obj->{'msgid'}); 1170 } else { 1206 } 1207 else { 1171 1208 $doc_obj->set_OID("$id\_$segment_number"); 1172 1209 }
Note:
See TracChangeset
for help on using the changeset viewer.