X-Git-Url: http://git.indexdata.com/?p=irspy-moved-to-github.git;a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy.pm;h=098946a2ffacb832e53a27efedba5641a8d86742;hp=cbf19c31947ea2e18802e0f5a25ae5221a995c35;hb=d9d44e8220067d39978efcebcc2fd1664da9b701;hpb=4e4f6c495ea6346b244bea09b742e2ab1aae662d diff --git a/lib/ZOOM/IRSpy.pm b/lib/ZOOM/IRSpy.pm index cbf19c3..098946a 100644 --- a/lib/ZOOM/IRSpy.pm +++ b/lib/ZOOM/IRSpy.pm @@ -1,4 +1,4 @@ -# $Id: IRSpy.pm,v 1.49 2006-11-16 17:19:28 mike Exp $ +# $Id: IRSpy.pm,v 1.53 2006-12-11 13:58:17 sondberg Exp $ package ZOOM::IRSpy; @@ -72,6 +72,10 @@ sub new { or die "$0: can't connection to IRSpy database 'dbname'"; my $xslt = new XML::LibXSLT; + + $xslt->register_function($ZOOM::IRSpy::Utils::IRSPY_NS, 'strcmp', + \&ZOOM::IRSpy::Utils::xslt_strcmp); + my $libxml = new XML::LibXML; my $xsl_doc = $libxml->parse_file($irspy_to_zeerex_xsl); my $irspy_to_zeerex_style = $xslt->parse_stylesheet($xsl_doc); @@ -241,9 +245,16 @@ sub _render_record { sub _irspy_to_zeerex { my ($this, $conn) = @_; my $irspy_doc = $conn->record()->{zeerex}->ownerDocument; + #open FH, '>/tmp/irspy_orig.xml'; + #print FH $irspy_doc->toString(); + #close FH; my %params = (); my $result = $this->{irspy_to_zeerex_style}->transform($irspy_doc, %params); + #open FH, '>/tmp/irspy_transformed.xml'; + #print FH $result->toString(); + #close FH; + return $result->documentElement(); } @@ -475,13 +486,23 @@ sub check { warn "$conn still has a queued task $task"; } if (!$conn->is_idle()) { - warn "$conn is not idle (still has ZOOM-C level tasks queued)"; + warn "$conn still has ZOOM-C level tasks queued: see below"; } if (!$conn->option("rewrote_record")) { warn "$conn did not rewrite its ZeeRex record"; } } + # This shouldn't happen emit anything either: + @conn = @{ $this->{connections} }; + while (my $i1 = ZOOM::event(\@conn)) { + my $conn = $conn[$i1-1]; + my $ev = $conn->last_event(); + my $evstr = ZOOM::event_str($ev); + warn "$conn still has ZOOM-C level task queued: $ev ($evstr)" + if $ev != ZOOM::Event::ZEND; + } + return $nskipped; } @@ -556,8 +577,8 @@ sub _last_sibling_test { my $maybe = $this->_next_sibling_test($address); last if !defined $maybe; $nskipped++; - $this->log("irspy", "skipping $nskipped tests to '$address'"); $address = $maybe; + $this->log("irspy", "skipping $nskipped tests to '$address'"); } return ($address, $nskipped);