Changeset 168


Ignore:
Timestamp:
12/19/05 23:10:37 (18 years ago)
Author:
thauvin
Message:
  • use ObsData::Event to manage event
Location:
trunk/soft/ObsData
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/soft/ObsData/ObsData/Repository.pm

    • Property cvs2svn:cvs-rev changed from 1.55 to 1.56
    r165 r168  
    99use ObsData; 
    1010use ObsData::Archive; 
     11use ObsData::Event; 
    1112use Config::IniFiles; 
    1213 
     
    469470} 
    470471 
    471 =head3 default_checks($why, @args) 
    472  
    473 Perform defaults checks 
    474  
    475 =cut 
    476  
    477 sub default_checks { 
    478     my ($self, $why, @args) = @_; 
    479      
     472sub populate_event { 
     473    my ($self, $oevent, @args) = @_; 
    480474    my ($code, $text); 
    481475     
    482     if ($why eq 'do_archive') { 
    483         ($code, $text) = $self->do_check('archive_size'); 
    484         if ($code) { 
    485             $self->logging(3, $text); 
    486         } 
    487  
    488         ($code, $text) = $self->do_check('archive_mtime'); 
    489         if ($code) { 
    490             $self->logging(3, $text); 
    491         } 
    492          
    493         ($code, $text) = $self->do_check('archive_exists'); 
    494         if ($code != 0) { 
    495             $self->logging(0, "%s => skiping", $text); 
    496             return 0; 
    497         } 
    498     } elsif ($why eq 'do_data') { 
    499      
    500     } elsif ($why eq 'overwrite') { 
    501         ($code, $text) = $self->do_check('dest_exists', @args); 
    502         if ($code) { 
    503             $self->logging(0, "%s", $text); 
    504             return 0; 
    505         } else { 
    506             $self->logging(0, "%s", $text); 
    507             return 1; 
    508         } 
    509     } 
    510      
    511     1; 
     476    for ($oevent->id) { 
     477        /^do_archive$/ and do { 
     478            foreach my $t (qw(archive_size archive_mtime archive_exists)) { 
     479                ($code, $text) = $self->do_check($t); 
     480                $oevent->add_test($t, $text, $code); 
     481            } 
     482            last; 
     483        }; 
     484        /^do_data$/ and do { 
     485            last; 
     486        }; 
     487        /^overwrite$/ and do { 
     488            ($code, $text) = $self->do_check('dest_exists', @args); 
     489            $oevent->add_test('dest_exists', $text, $code); 
     490            last; 
     491        }; 
     492    } 
     493} 
     494 
     495=head3 default_choice($oevent) 
     496 
     497=cut 
     498 
     499sub default_choice { 
     500    my ($self, $oevent) = @_; 
     501 
     502    for ($oevent->id) { 
     503        /^do_archive$/ and do { 
     504            last; 
     505        }; 
     506        /^do_data$/ and do { 
     507            last; 
     508        }; 
     509        /^overwrite$/ and do { 
     510            last; 
     511        }; 
     512    } 
    512513} 
    513514 
     
    524525    my ($self, $why, @args) = @_; 
    525526 
     527    my $oevent = ObsData::Event->new($why, $why); 
     528    $self->populate_event( 
     529        $oevent, @args 
     530    ); 
     531 
    526532    if ($self->{interative_callback}) { 
    527         return $self->{interative_callback}->($self, $why, @args); 
     533        return $self->{interative_callback}->($self, $oevent); 
    528534    } else { 
    529         return $self->default_checks($why, @args); 
     535        return $self->default_choice($oevent); 
    530536    } 
    531537} 
  • trunk/soft/ObsData/t/OR-03.t

    • Property cvs2svn:cvs-rev changed from 1.10 to 1.11
    r151 r168  
    11# $Id$ 
     2 
     3use strict; 
     4use warnings; 
    25 
    36use Test::More tests => 14; 
     
    3033            archivefile => 'ozone34.gz', 
    3134            interative_callback => sub { 
    32                 my ($self, $why, @args) = @_; 
    33                 $callbackwhy = $why; 
    34                 if ($why eq 'overwrite') { 
     35                my ($self, $event) = @_; 
     36                $callbackwhy = $event->id; 
     37                if ($callbackwhy eq 'overwrite') { 
    3538                    return 1; 
    3639                } else { 
    37                     return $self->default_checks($why, @args); 
     40                    return $self->default_choice($event); 
    3841                } 
    3942            }, 
     
    4952    ok($or->get_data_value('ozone34', 'BAR') eq 'BAR', "can get a value"); 
    5053 
    51     ok($or->do_continue('overwrite') eq 1, "Perform do_continue"); 
     54    ok($or->do_continue('overwrite', 'a', 'a') eq 1, "Perform do_continue"); 
    5255    ok($callbackwhy eq 'overwrite', "arg are properly passed to callback"); 
    5356    ok($or->list_archive, "Can list archive content"); 
Note: See TracChangeset for help on using the changeset viewer.