[2/2] testbot/lib: Improve the Backend methods argument handling.
Francois Gouget
fgouget at codeweavers.com
Thu Jun 12 03:15:14 CDT 2014
This standardizes the way we handle the arguments.
Make it so one can readily see the list of arguments the method takes without having to hunt down the implementation of all its ancestors.
Because these are methods the added prototypes have no effect whatsoever as far as Perl is concerned. However they do document which arguments are optional.
---
Rebased to follow the previous higher priority patch.
testbot/lib/ObjectModel/BackEnd.pm | 8 ++--
testbot/lib/ObjectModel/DBIBackEnd.pm | 82 ++++++++++++++---------------------
2 files changed, 38 insertions(+), 52 deletions(-)
diff --git a/testbot/lib/ObjectModel/BackEnd.pm b/testbot/lib/ObjectModel/BackEnd.pm
index cf7439e..561bfce 100644
--- a/testbot/lib/ObjectModel/BackEnd.pm
+++ b/testbot/lib/ObjectModel/BackEnd.pm
@@ -35,17 +35,19 @@ require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(%ActiveBackEnds);
-sub new
+sub new($@)
{
my $class = shift;
+
my $self = {};
$self = bless $self, $class;
- $self->_initialize();
+ $self->_initialize(@_);
return $self;
}
-sub _initialize
+sub _initialize($)
{
+ #my ($self) = @_;
}
1;
diff --git a/testbot/lib/ObjectModel/DBIBackEnd.pm b/testbot/lib/ObjectModel/DBIBackEnd.pm
index 06b139d..45bd1f6 100644
--- a/testbot/lib/ObjectModel/DBIBackEnd.pm
+++ b/testbot/lib/ObjectModel/DBIBackEnd.pm
@@ -40,9 +40,9 @@ require Exporter;
@ISA = qw(ObjectModel::BackEnd Exporter);
@EXPORT = qw(&UseDBIBackend);
-sub GetDb
+sub GetDb($)
{
- my $self = shift;
+ my ($self) = @_;
if (defined $self->{Db} && !$self->{Db}->ping())
{
@@ -58,10 +58,9 @@ sub GetDb
return $self->{Db};
}
-sub ToDb
+sub ToDb($$$)
{
- my $self = shift;
- my ($Value, $PropertyDescriptor) = @_;
+ my ($self, $Value, $PropertyDescriptor) = @_;
if ($PropertyDescriptor->GetClass eq "Basic")
{
@@ -97,10 +96,9 @@ sub ToDb
return $Value;
}
-sub FromDb
+sub FromDb($$$)
{
- my $self = shift;
- my ($Value, $PropertyDescriptor) = @_;
+ my ($self, $Value, $PropertyDescriptor) = @_;
if ($PropertyDescriptor->GetClass eq "Basic")
{
@@ -129,10 +127,9 @@ sub FromDb
return $Value;
}
-sub BuildKeyWhere
+sub BuildKeyWhere($$$$)
{
- my $self = shift;
- my ($PropertyDescriptors, $ColPrefix, $Where) = @_;
+ my ($self, $PropertyDescriptors, $ColPrefix, $Where) = @_;
foreach my $PropertyDescriptor (@{$PropertyDescriptors})
{
@@ -152,10 +149,9 @@ sub BuildKeyWhere
return $Where;
}
-sub BuildFieldList
+sub BuildFieldList($$)
{
- my $self = shift;
- my $PropertyDescriptors = $_[0];
+ my ($self, $PropertyDescriptors) = @_;
my $Fields = "";
foreach my $PropertyDescriptor (@$PropertyDescriptors)
@@ -173,10 +169,9 @@ sub BuildFieldList
return $Fields;
}
-sub LoadCollection
+sub LoadCollection($$)
{
- my $self = shift;
- my $Collection = $_[0];
+ my ($self, $Collection) = @_;
my $Fields = $self->BuildFieldList($Collection->GetPropertyDescriptors());
@@ -266,10 +261,9 @@ however put the Item in the Collection's scope.
=back
=cut
-sub LoadItem
+sub LoadItem($$$)
{
- my $self = shift;
- my ($Collection, $RequestedKey) = @_;
+ my ($self, $Collection, $RequestedKey) = @_;
my $Fields = $self->BuildFieldList($Collection->GetPropertyDescriptors());
@@ -314,10 +308,9 @@ sub LoadItem
return $Item;
}
-sub BuildInsertStatement
+sub BuildInsertStatement($$$$)
{
- my $self = shift;
- my ($TableName, $PropertyDescriptors, $MasterColNames) = @_;
+ my ($self, $TableName, $PropertyDescriptors, $MasterColNames) = @_;
my $Fields = "";
my $PlaceHolders = "";
@@ -352,11 +345,9 @@ sub BuildInsertStatement
return "INSERT INTO $TableName ($Fields) VALUES($PlaceHolders)";
}
-sub GetInsertData
+sub GetInsertData($$$)
{
- my $self = shift;
- my $MasterColValues = shift;
- my $Item = shift;
+ my ($self, $MasterColValues, $Item) = @_;
my @Data;
if (defined($MasterColValues))
@@ -376,10 +367,9 @@ sub GetInsertData
return \@Data;
}
-sub BuildUpdateStatement
+sub BuildUpdateStatement($$$$)
{
- my $self = shift;
- my ($TableName, $PropertyDescriptors, $MasterColNames) = @_;
+ my ($self, $TableName, $PropertyDescriptors, $MasterColNames) = @_;
my $Fields = "";
foreach my $PropertyDescriptor (@{$PropertyDescriptors})
@@ -407,11 +397,9 @@ sub BuildUpdateStatement
return "UPDATE $TableName SET $Fields WHERE $Where";
}
-sub GetUpdateData
+sub GetUpdateData($$$)
{
- my $self = shift;
- my $MasterColValues = shift;
- my $Item = shift;
+ my ($self, $MasterColValues, $Item) = @_;
my @Data;
foreach my $PropertyDescriptor (@{$Item->GetPropertyDescriptors()})
@@ -445,10 +433,9 @@ sub GetUpdateData
return \@Data;
}
-sub SaveCollection
+sub SaveCollection($$)
{
- my $self = shift;
- my $Collection = shift;
+ my ($self, $Collection) = @_;
my $Db = $self->GetDb();
my ($MasterColNames, $MasterColValues) = $Collection->GetMasterCols();
@@ -500,10 +487,9 @@ sub SaveCollection
$UpdateStatement->finish();
}
-sub SaveItem
+sub SaveItem($$)
{
- my $self = shift;
- my $Item = $_[0];
+ my ($self, $Item) = @_;
my $Query;
my ($MasterColNames, $MasterColValues) = $Item->GetMasterCols();
@@ -528,10 +514,9 @@ sub SaveItem
$Statement->finish();
}
-sub DeleteItem
+sub DeleteItem($$)
{
- my $self = shift;
- my $Item = shift;
+ my ($self, $Item) = @_;
my $Where = "";
my @Data;
@@ -554,10 +539,9 @@ sub DeleteItem
return undef;
}
-sub DeleteAll
+sub DeleteAll($$)
{
- my $self = shift;
- my $Collection = shift;
+ my ($self, $Collection) = @_;
my $Where = "";
my @Data;
@@ -580,9 +564,9 @@ sub DeleteAll
return undef;
}
-sub PrepareForFork
+sub PrepareForFork($)
{
- my $self = shift;
+ my ($self) = @_;
if (defined($self->{Db}))
{
@@ -591,7 +575,7 @@ sub PrepareForFork
}
}
-sub UseDBIBackEnd
+sub UseDBIBackEnd($$@)
{
my $class = shift;
my $DbSelector = shift;
--
2.0.0
More information about the wine-patches
mailing list