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

- added exact match

- rosetta expects "+" as sign to combine subqueries via logical and
parent be95e508
No related branches found
No related tags found
No related merge requests found
...@@ -2,8 +2,6 @@ package SLUB::LZA::Rosetta::TA::Command::search; ...@@ -2,8 +2,6 @@ package SLUB::LZA::Rosetta::TA::Command::search;
use strict; use strict;
use warnings; use warnings;
use feature qw(say); use feature qw(say);
use SLUB::LZA::Rosetta::TA -command; use SLUB::LZA::Rosetta::TA -command;
sub abstract {"searches Rosetta based Archival Information System";} sub abstract {"searches Rosetta based Archival Information System";}
...@@ -82,7 +80,7 @@ sub execute { ...@@ -82,7 +80,7 @@ sub execute {
} }
my @queries; my @queries;
if (exists $opt->{source}) { if (exists $opt->{source}) {
push @queries, "IE.sourceMD.content=$opt->{source}"; push @queries, "IE.sourceMD.content==$opt->{source}";
} }
if (exists $opt->{ie}) { if (exists $opt->{ie}) {
push @queries, "IE.dc.identifier==$opt->{ie}"; push @queries, "IE.dc.identifier==$opt->{ie}";
...@@ -97,30 +95,31 @@ sub execute { ...@@ -97,30 +95,31 @@ sub execute {
push @queries, "FILE.objectCharacteristics.modificationDate==$opt->{modificationdate}"; push @queries, "FILE.objectCharacteristics.modificationDate==$opt->{modificationdate}";
} }
if (exists $opt->{'with_format'}) { if (exists $opt->{'with_format'}) {
push @queries, "FILE.generalFileCharacteristics.formatLibraryId=$opt->{'with_format'}"; push @queries, "FILE.generalFileCharacteristics.formatLibraryId==$opt->{'with_format'}";
} }
# unsupported by Rosetta <= 7.0 # unsupported by Rosetta <= 7.0
#if (exists $opt->{'without_format'}) { #if (exists $opt->{'without_format'}) {
# push @queries, "FILE.generalFileCharacteristics.formatLibraryId!=$opt->{'without_format'}"; # push @queries, "FILE.generalFileCharacteristics.formatLibraryId!=$opt->{'without_format'}";
#} #}
if (exists $opt->{'with_valid_files'}) { if (exists $opt->{'with_valid_files'}) {
push @queries, "FILE.fileValidation.isValid=true"; push @queries, "FILE.fileValidation.isValid==true";
} }
if (exists $opt->{'with_invalid_files'}) { if (exists $opt->{'with_invalid_files'}) {
push @queries, "FILE.fileValidation.isValid=false"; push @queries, "FILE.fileValidation.isValid==false";
} }
if (exists $opt->{'with_passed_viruschecks'}) { if (exists $opt->{'with_passed_viruschecks'}) {
push @queries, "FILE.fileVirusCheck.status=true"; push @queries, "FILE.fileVirusCheck.status==true";
} }
if (exists $opt->{'with_failed_viruschecks'}) { if (exists $opt->{'with_failed_viruschecks'}) {
push @queries, "FILE.fileVirusCheck.status=false"; push @queries, "FILE.fileVirusCheck.status==false";
} }
if (exists $opt->{'with_missed_viruschecks'}) { if (exists $opt->{'with_missed_viruschecks'}) {
push @queries, "FILE.fileVirusCheck.status==%22%22"; push @queries, "FILE.fileVirusCheck.status==%22%22";
} }
my $query = join(" and ", @queries); #my $query = join(" and ", @queries);
my $query = join("+", @queries);
if (exists $opt->{debug}) { if (exists $opt->{debug}) {
use Data::Printer; use Data::Printer;
p( $opt); p( $opt);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment