@@ -222,8 +222,7 @@ sub _handle_report {
222
222
my $suffix = delete $report {suffix };
223
223
224
224
my %params ;
225
- my @fields = $self -> _report_fields_for( @report {qw< subsystem event > },
226
- \%report );
225
+ my @fields = $self -> _fields_for( report => \%report );
227
226
@params {@fields } = split /\|/ , $suffix , @fields
228
227
if @fields ;
229
228
@@ -280,8 +279,7 @@ sub _handle_filter {
280
279
$_ = defined $_ ? "'$_ '" : "undef" for $subsystem , $phase , $session_id ;
281
280
282
281
my %params ;
283
- my @fields = $self ->_filter_fields_for( @filter {qw< subsystem phase >},
284
- \% filter );
282
+ my @fields = $self ->_fields_for( filter => \% filter );
285
283
@params {@fields } = split /\| / , $suffix , @fields
286
284
if defined $suffix and @fields ;
287
285
@@ -373,11 +371,14 @@ sub _handle_filter_data_line {
373
371
return $filter ;
374
372
}
375
373
376
- sub _report_fields_for { shift -> _fields_for( report => \%report_events , @_ ) }
377
- sub _filter_fields_for { shift -> _fields_for( filter => \%filter_events , @_ ) }
378
-
379
374
sub _fields_for {
380
- my ( $self , $type , $map , $subsystem , $item , $params ) = @_ ;
375
+ my ( $self , $type , $params ) = @_ ;
376
+
377
+ my $subsystem = $params -> {subsystem };
378
+ my ($item , $map ) =
379
+ $type eq ' report' ? ( $params -> {event } => \%report_events )
380
+ : $type eq ' filter' ? ( $params -> {phase } => \%filter_events )
381
+ : croak " Unknown field type: $type " ;
381
382
382
383
if ( $subsystem and $item and my $items = $map -> {$subsystem } ) {
383
384
if ( my $fields = $items -> {$item } ) {
0 commit comments