X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy%2FTask%2FSearch.pm;h=68397c089ddbd5a4b4fb97c96b1ac055c63e9fa2;hb=9b3b58e46da3867cabcc6a6c54442ea2e6431f9a;hp=25373d77a6f87d6e0122f5ffff8fa5ab8dc453bd;hpb=f8dd3fdf3f500deaf7c3a59285ed613f3b0c3886;p=irspy-moved-to-github.git diff --git a/lib/ZOOM/IRSpy/Task/Search.pm b/lib/ZOOM/IRSpy/Task/Search.pm index 25373d7..68397c0 100644 --- a/lib/ZOOM/IRSpy/Task/Search.pm +++ b/lib/ZOOM/IRSpy/Task/Search.pm @@ -1,4 +1,4 @@ -# $Id: Search.pm,v 1.14 2007-05-01 15:32:06 mike Exp $ +# $Id: Search.pm,v 1.16 2007-12-18 11:59:42 mike Exp $ package ZOOM::IRSpy::Task::Search; @@ -53,7 +53,7 @@ sub run { my $query; if ($qtype eq "pqf") { - $query = new ZOOM::Query::Prefix($qstr); + $query = new ZOOM::Query::PQF($qstr); } elsif ($qtype eq "cql") { $query = new ZOOM::Query::CQL($qstr); } else { @@ -66,16 +66,27 @@ sub run { # APPLICATION'S RESPONSIBILITY to ensure that the callback # invoked on success OR FAILURE makes arrangements for the set # to be destroyed. - $this->{rs} = $conn->search($query); + eval { + $this->{rs} = $conn->search($query); + }; if ($@) { + die "remote search '$query' had error: '$@'"; + } + warn "no ZOOM-C level events queued by $this" if $conn->is_idle(); $this->set_options(); } +# Unique to Task::Search, used only for logging +sub render_query { + my $this = shift(); + return $this->{qtype} . ":" . $this->{qstr} +} + sub render { my $this = shift(); - return ref($this) . "(" . $this->{qtype} . ":" . $this->{qstr} . ")"; + return ref($this) . "(" . $this->render_query() . ")"; } use overload '""' => \&render;