Skip to content
Snippets Groups Projects
Commit 56706772 authored by Andreas Romeyke's avatar Andreas Romeyke
Browse files

- refactoring, renamed variables

parent 9793c05d
Branches
No related tags found
No related merge requests found
...@@ -454,12 +454,11 @@ sub check_if_db_conform ($string, $filename) { ...@@ -454,12 +454,11 @@ sub check_if_db_conform ($string, $filename) {
my $str_repid_old = "/mets:mets/mets:amdSec[starts-with(\@ID, \'REP\') and $str_local_reps]/\@ID"; my $str_repid_old = "/mets:mets/mets:amdSec[starts-with(\@ID, \'REP\') and $str_local_reps]/\@ID";
my $compiled_xpath_repid_old = XML::LibXML::XPathExpression->new($str_repid_old); my $compiled_xpath_repid_old = XML::LibXML::XPathExpression->new($str_repid_old);
# only event 272 or 274 should be used, next line uses a multiple-predicate hack for XPATH 1.0 # only event 272 or 274 should be used, next line uses a multiple-predicate hack for XPATH 1.0
my $xpath_if_deleted_expr = 'mets:digiprovMD[@ID="ie-amd-digiprov"]/mets:mdWrap/mets:xmlData/dnx:dnx/dnx:section[@id="event"]/dnx:record[dnx:key[@id="eventIdentifierValue"][. = 272]]'; my $xpath_if_anydelete_event_expr = 'mets:digiprovMD[@ID="ie-amd-digiprov"]/mets:mdWrap/mets:xmlData/dnx:dnx/dnx:section[@id="event"]/dnx:record[dnx:key[@id="eventIdentifierValue"][. >= 272][. <= 274]]';
my $xpath_if_purged_expr = 'mets:digiprovMD[@ID="ie-amd-digiprov"]/mets:mdWrap/mets:xmlData/dnx:dnx/dnx:section[@id="event"]/dnx:record[dnx:key[@id="eventIdentifierValue"][. = 274]]'; my $compiled_xpath_anydelete_event = XML::LibXML::XPathExpression->new('dnx:key[@id="eventDescription"]/text()');
my $compiled_xpath_ifpurged_event = XML::LibXML::XPathExpression->new('dnx:key[@id="eventDescription"]/text()'); my $compiled_xpath_anydelete_date = XML::LibXML::XPathExpression->new('dnx:key[@id="eventDateTime"]/text()');
my $compiled_xpath_purged_event_date = XML::LibXML::XPathExpression->new('dnx:key[@id="eventDateTime"]/text()'); my $compiled_xpath_anydelete_authorized_by = XML::LibXML::XPathExpression->new('dnx:key[@id="linkingAgentIdentifierValue1"]/text()');
my $compiled_xpath_purged_event_authorized_by = XML::LibXML::XPathExpression->new('dnx:key[@id="linkingAgentIdentifierValue1"]/text()'); my $compiled_xpath_anydelete_reason = XML::LibXML::XPathExpression->new('dnx:key[@id="eventOutcomeDetail1"]/text()');
my $compiled_xpath_purged_event_reason = XML::LibXML::XPathExpression->new('dnx:key[@id="eventOutcomeDetail1"]/text()');
############################################################ ############################################################
sub get_title ($xp, $dmd){ sub get_title ($xp, $dmd){
...@@ -538,53 +537,53 @@ XPATH ...@@ -538,53 +537,53 @@ XPATH
} }
} }
sub get_purged_state($xp, $dnx) { sub get_anydelete_state($xp, $dnx) {
# we need to earch for eventIdentifierValue 272 or 274. # we need to earch for eventIdentifierValue 272 or 274.
# the eventDescription should be # the eventDescription should be
# a) IE has been deleted # a) IE has been deleted
# b) IE has been purged # b) IE has been purged
my @del_nodes = map {$_->nodeValue} $xp->findnodes($compiled_xpath_ifpurged_event, $dnx); my @del_nodes = map {$_->nodeValue} $xp->findnodes($compiled_xpath_anydelete_event, $dnx);
my @states = map {$_ =~ s/^IE has been (deleted|purged)$/$1/; $_} @del_nodes; my @states = map {$_ =~ s/^IE has been (deleted|purged|recovered)$/$1/; $_} @del_nodes;
return $states[0]; return $states[0];
} }
sub has_purged_entries($xp, $dnx) { sub has_anydelete_entries($xp, $dnx) {
# we need to earch for eventIdentifierValue 272 or 274. # we need to earch for eventIdentifierValue 272 or 274.
# the eventDescription should be # the eventDescription should be
# a) IE has been deleted # a) IE has been deleted
# b) IE has been purged # b) IE has been purged
return $xp->exists($compiled_xpath_ifpurged_event, $dnx); return $xp->exists($compiled_xpath_anydelete_event, $dnx);
} }
sub get_purged_dates($xp, $dnx) { sub get_anydelete_date($xp, $dnx) {
my @date_nodes = $xp->findnodes($compiled_xpath_purged_event_date, $dnx); my @date_nodes = $xp->findnodes($compiled_xpath_anydelete_date, $dnx);
my @dates = map {$_->nodeValue} @date_nodes; my @dates = map {$_->nodeValue} @date_nodes;
return \@dates; return $dates[0];
} }
sub get_purged_notes($xp, $dnx) { sub get_anydelete_note($xp, $dnx) {
my @entries_str = map {$_->nodeValue} $xp->findnodes($compiled_xpath_purged_event_reason, $dnx); my @entries_str = map {$_->nodeValue} $xp->findnodes($compiled_xpath_anydelete_reason, $dnx);
my @results; my @results;
foreach my $e ( @entries_str) { foreach my $e ( @entries_str) {
my @entries = split(/;/, $e); my @entries = split(/;/, $e);
push @results, List::Util::first{ s/note=//; } @entries push @results, List::Util::first{ s/note=//; } @entries
} }
return \@results; return $results[0];
} }
sub get_purged_reasons($xp, $dnx) { sub get_anydelete_reason($xp, $dnx) {
my @entries_str = map {$_->nodeValue} $xp->findnodes($compiled_xpath_purged_event_reason, $dnx); my @entries_str = map {$_->nodeValue} $xp->findnodes($compiled_xpath_anydelete_reason, $dnx);
my @results; my @results;
foreach my $e ( @entries_str) { foreach my $e ( @entries_str) {
my @entries = split(/;/, $e); my @entries = split(/;/, $e);
push @results, List::Util::first{ s/reason=//; } @entries push @results, List::Util::first{ s/reason=//; } @entries
} }
return \@results; return $results[0];
} }
sub get_purged_authorized_by($xp, $dnx) { sub get_anydelete_authorized_by($xp, $dnx) {
my @auth = map {$_->nodeValue} $xp->findnodes($compiled_xpath_purged_event_authorized_by, $dnx); my @auth = map {$_->nodeValue} $xp->findnodes($compiled_xpath_anydelete_authorized_by, $dnx);
return \@auth; return $auth[0];
} }
sub check_if_file_is_readable($filename) { sub check_if_file_is_readable($filename) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment