-# $Id: IRSpy.pm,v 1.68 2007-02-23 16:45:55 mike Exp $
+# $Id: IRSpy.pm,v 1.71 2007-02-27 14:51:10 mike Exp $
package ZOOM::IRSpy;
$this->log("irspy_debug", "query '", $this->{query}, "'");
my $rs = $this->{conn}->search(new ZOOM::Query::CQL($this->{query}));
+ $this->log("irspy", "'", $this->{query}, "' found ",
+ $rs->size(), " target records");
delete $this->{query}; # No longer needed at all
- $this->log("irspy_debug", "found ", $rs->size(), " target records");
my $gatherTargets = !$this->{targets};
foreach my $i (1 .. $rs->size()) {
my $target = _render_record($rs, $i-1, "id");
if ($save_xml) {
unlink('/tmp/irspy_orig.xml');
- open FH, '>/tmp/irspy_orig.xml';
+ open FH, '>/tmp/irspy_orig.xml'
+ or die "can't write irspy_orig.xml: $!";
print FH $irspy_doc->toString();
close FH;
}
my $result = $this->{irspy_to_zeerex_style}->transform($irspy_doc, %params);
if ($save_xml) {
unlink('/tmp/irspy_transformed.xml');
- open FH, '>/tmp/irspy_transformed.xml';
+ open FH, '>/tmp/irspy_transformed.xml'
+ or die "can't write irspy_transformed.xml: $!";
print FH $result->toString();
close FH;
}
die "$conn has no current task for event $ev ($evstr)" if !$task;
my $res;
- eval { $conn->_check() };
- if ($@) {
+ eval { $conn->check() };
+ if ($@ && ref $@ && $@->isa("ZOOM::Exception")) {
my $sub = $task->{cb}->{exception};
die $@ if !defined $sub;
$res = &$sub($conn, $task, $task->udata(), $@);
+ } elsif ($@) {
+ die "Unexpected non-ZOOM exception: " . ref($@) . " ($@)";
} else {
my $sub = $task->{cb}->{$ev};
if (!defined $sub) {