[COMMIT LOGREPORT] service/all/lib/Lire FilterExpr.pm,1.30,1.31 DlfAnalyserProcess.pm,1.8,1.9

Francis J. Lacoste flacoste at users.sourceforge.net
Mon Jun 13 18:10:47 CEST 2005


Update of /cvsroot/logreport/service/all/lib/Lire
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7365/all/lib/Lire

Modified Files:
	FilterExpr.pm DlfAnalyserProcess.pm 
Log Message:
- Use DlfSource filter expression to prevent ambiguous error in analyser process.


Index: FilterExpr.pm
===================================================================
RCS file: /cvsroot/logreport/service/all/lib/Lire/FilterExpr.pm,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- FilterExpr.pm	17 May 2004 17:05:19 -0000	1.30
+++ FilterExpr.pm	13 Jun 2005 16:10:44 -0000	1.31
@@ -415,6 +415,56 @@
     }
 }
 
+package Lire::FilterExpr::DlfSource;
+
+use base qw/ Lire::FilterExpr /;
+
+use Lire::Utils qw/ sql_quote_name check_param /;
+use Carp;
+
+sub new {
+    my $self  = shift()->SUPER::new( @_ );
+
+    my %args = @_;
+    check_param( $args{'value'}, 'value' );
+
+    $self->value( $args{'value'} );
+
+    return $self;
+}
+
+sub value {
+    my ( $self, $value ) = @_;
+
+    if ( @_ == 2 ) {
+        check_param( $value, 'value' );
+	$self->_validate_value( $value );
+	$self->{'value'} = $value;
+    }
+
+    $self->{'value'};
+}
+
+sub print {
+    croak "Cannot print a Lire::FilterExpr::DlfSource";
+}
+
+sub sql_params {
+    my $self = $_[0];
+
+    unless ( $self->_is_value_a_fieldref( $self->{'value' } ) ) {
+        return [ $self->{'container'}->resolve_param_ref ( $self->{'value' }) ];
+    } else {
+        return [ $self->{'value'} ];
+    }
+}
+
+sub sql_expr {
+    my $self = $_[0];
+
+    return  $self->{'container'}->schema()->sql_table() . ".dlf_source" . " = ?";
+}
+
 package Lire::FilterExpr::Not;
 
 use base qw/ Lire::FilterExpr /;

Index: DlfAnalyserProcess.pm
===================================================================
RCS file: /cvsroot/logreport/service/all/lib/Lire/DlfAnalyserProcess.pm,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- DlfAnalyserProcess.pm	7 Jun 2004 17:00:39 -0000	1.8
+++ DlfAnalyserProcess.pm	13 Jun 2005 16:10:44 -0000	1.9
@@ -247,9 +247,8 @@
     $spec->schema( $schema->id() )
       if $schema->id() ne $schema->superservice();
 
-    return new Lire::FilterExpr::Eq( 'container' => $spec,
-                                     'arg1' => '$dlf_source',
-                                     'arg2' => $self->{'_dlf_source'} );
+    return new Lire::FilterExpr::DlfSource( 'container' => $spec,
+                                            'value' => $self->{'_dlf_source'} );
 }
 
 =pod

-- 
To UNSUBSCRIBE, email to commit-request at logreport.org with a subject of 
"unsubscribe". Trouble? Send an email with subject "help" to 
commit-request at logreport.org



More information about the Commit mailing list