From: Mike Taylor Date: Wed, 25 Oct 2006 15:44:50 +0000 (+0000) Subject: After an initial search (not using piggy-back), records are fetched by X-Git-Tag: CPAN-v1.02~54^2~857 X-Git-Url: http://jsfdemo.indexdata.com/cgi-bin?a=commitdiff_plain;h=e6d9602f952c006500d543dcc3d5c8bfade8ec0a;p=irspy-moved-to-github.git After an initial search (not using piggy-back), records are fetched by subsequent, separate tasks. --- diff --git a/lib/ZOOM/IRSpy/Test/Record/Fetch.pm b/lib/ZOOM/IRSpy/Test/Record/Fetch.pm index 754d3fa..2e0b591 100644 --- a/lib/ZOOM/IRSpy/Test/Record/Fetch.pm +++ b/lib/ZOOM/IRSpy/Test/Record/Fetch.pm @@ -1,4 +1,4 @@ -# $Id: Fetch.pm,v 1.6 2006-10-25 11:44:35 sondberg Exp $ +# $Id: Fetch.pm,v 1.7 2006-10-25 15:44:50 mike Exp $ # See the "Main" test package for documentation @@ -15,6 +15,20 @@ our @ISA = qw(ZOOM::IRSpy::Test); sub start { my $class = shift(); my($conn) = @_; + + # Here I want to get a use attribute from the session, which we've + # managed to search for in the Search/Bib1 or Search/Dan1 tests. + # But how? So far we search for title: 1=4 + $conn->irspy_search_pqf("\@attr 1=4 mineral", {}, {}, + ZOOM::Event::RECV_SEARCH, \&completed_search, + exception => \&error); +} + + +sub completed_search { + my($conn, $task, $udata, $event) = @_; + + $conn->log("irspy_test", "Fetch test search succeeded"); my @syntax = ( 'canmarc', 'danmarc', @@ -36,18 +50,17 @@ sub start { 'usmarc', 'xml' ); - - foreach my $syn (@syntax) { - ## Here I want to get a use attribute from the session, which we've - ## managed to search for in the Search/Bib1 or Search/Dan1 tests. But - ## how? So far we search for title: 1=4 - $conn->irspy_search_pqf("\@attr 1=4 mineral", - {'syntax' => $syn}, - { start => 0, count => 1, - preferredRecordSyntax => $syn }, + @syntax = qw(grs-1 sutrs usmarc xml); # simplify for debugging + foreach my $syntax (@syntax) { + $conn->irspy_rs_record($task->{rs}, 0, + { syntax => $syntax }, + { start => 0, count => 1, + preferredRecordSyntax => $syntax }, ZOOM::Event::RECV_RECORD, \&record, exception => \&error); } + + return ZOOM::IRSpy::Status::TASK_DONE; } @@ -56,13 +69,13 @@ sub record { my $syn = $test_args->{'syntax'}; my $rs = $task->{rs}; + $conn->log("irspy_test", "Successfully retrieved a $syn record"); if (1) { print STDERR "Hits: ", $rs->size(), "\n"; print STDERR "Syntax: ", $syn, "\n"; print STDERR $rs->record(0)->render(); } - $conn->log("irspy_test", "Successfully retrieved a $syn record"); $conn->record()->store_result('record_fetch', 'syntax' => $syn, 'ok' => 1);