testbot/CGI: Improve the CGI methods argument handling.

Francois Gouget fgouget at codeweavers.com
Mon Jun 9 05:29:04 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.
---
 testbot/lib/ObjectModel/CGI/CollectionBlock.pm     | 171 ++++++++++-----------
 .../lib/ObjectModel/CGI/CollectionBlockForPage.pm  |  68 ++++----
 testbot/lib/ObjectModel/CGI/CollectionPage.pm      | 121 +++++++--------
 testbot/lib/ObjectModel/CGI/FormPage.pm            | 104 ++++++-------
 testbot/lib/ObjectModel/CGI/ItemPage.pm            |  45 +++---
 testbot/lib/ObjectModel/CGI/Page.pm                | 105 +++++++------
 testbot/lib/WineTestBot/CGI/PageBase.pm            |  75 ++++-----
 testbot/lib/WineTestBot/CGI/Sessions.pm            |  15 +-
 8 files changed, 338 insertions(+), 366 deletions(-)

diff --git a/testbot/lib/ObjectModel/CGI/CollectionBlock.pm b/testbot/lib/ObjectModel/CGI/CollectionBlock.pm
index b663208..104520a 100644
--- a/testbot/lib/ObjectModel/CGI/CollectionBlock.pm
+++ b/testbot/lib/ObjectModel/CGI/CollectionBlock.pm
@@ -36,7 +36,7 @@ require Exporter;
 
 @EXPORT = qw(new);
 
-sub new
+sub new($$$@)
 {
   my $class = shift;
   my ($Collection, $EnclosingPage) = @_;
@@ -48,20 +48,21 @@ sub new
   return $self;
 }
 
-sub _initialize
+sub _initialize($$$)
 {
+  #my ($self, $Collection, $EnclosingPage) = @_;
 }
 
-sub escapeHTML
+sub escapeHTML($$)
 {
-  my $self = shift;
+  my ($self, $String) = @_;
 
-  return $self->{EnclosingPage}->escapeHTML(@_);
+  return $self->{EnclosingPage}->escapeHTML($String);
 }
 
-sub GenerateList
+sub GenerateList($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $Collection = $self->{Collection};
   my $PropertyDescriptors = $Collection->GetPropertyDescriptors();
@@ -168,16 +169,16 @@ EOF
   print "</div>\n";
 }
 
-sub CallGenerateFormStart
+sub CallGenerateFormStart($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
-  $self->GenerateFormStart(@_);
+  $self->GenerateFormStart();
 }
 
-sub GenerateFormStart
+sub GenerateFormStart($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   print "<form action='" . $ENV{"SCRIPT_NAME"} . "' method='post'>\n";
   my ($MasterColNames, $MasterColValues) = $self->{Collection}->GetMasterCols();
@@ -192,45 +193,43 @@ sub GenerateFormStart
   }
 }
 
-sub CallGenerateErrorDiv
+sub CallGenerateErrorDiv($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{EnclosingPage}->GenerateErrorDiv();
 }
 
-sub CallGenerateErrorPopup
+sub CallGenerateErrorPopup($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{EnclosingPage}->GenerateErrorPopup();
 }
 
-sub CallGenerateFormEnd
+sub CallGenerateFormEnd($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
-  $self->GenerateFormEnd(@_);
+  $self->GenerateFormEnd();
 }
 
-sub GenerateFormEnd
+sub GenerateFormEnd($)
 {
-  my $self = shift;
-
+  #my ($self) = @_;
   print "</form>\n";
 }
 
-sub CallGenerateHeaderRow
+sub CallGenerateHeaderRow($$$)
 {
-  my $self = shift;
+  my ($self, $PropertyDescriptors, $Actions) = @_;
 
-  $self->GenerateHeaderRow(@_);
+  $self->GenerateHeaderRow($PropertyDescriptors, $Actions);
 }
 
-sub GenerateHeaderRow
+sub GenerateHeaderRow($$$)
 {
-  my $self = shift;
-  my ($PropertyDescriptors, $Actions) = @_;
+  my ($self, $PropertyDescriptors, $Actions) = @_;
 
   print "<tr>\n";
   if (@$Actions != 0)
@@ -249,26 +248,24 @@ sub GenerateHeaderRow
   print "</tr>\n";
 }
 
-sub CallGenerateDataRow
+sub CallGenerateDataRow($$$$$$)
 {
-  my $self = shift;
+  my ($self, $Item, $PropertyDescriptors, $DetailsPage, $Class, $Actions) = @_;
 
-  $self->GenerateDataRow(@_);
+  $self->GenerateDataRow($Item, $PropertyDescriptors, $DetailsPage, $Class, $Actions);
 }
 
-sub SelName
+sub SelName($$)
 {
-  my $self = shift;
-  my $Key = $_[0];
+  my ($self, $Key) = @_;
 
   $Key =~ s/[^0-9a-zA-Z]+/_/g;
   return "sel_" . $Key;
 }
 
-sub GenerateDataRow
+sub GenerateDataRow($$$$$$)
 {
-  my $self = shift;
-  my ($Item, $PropertyDescriptors, $DetailsPage, $Class, $Actions) = @_;
+  my ($self, $Item, $PropertyDescriptors, $DetailsPage, $Class, $Actions) = @_;
 
   print "<tr class='$Class'>\n";
   if (@$Actions != 0)
@@ -286,17 +283,16 @@ sub GenerateDataRow
   print "</tr>\n";
 }
 
-sub CallGenerateDataCell
+sub CallGenerateDataCell($$$$)
 {
-  my $self = shift;
+  my ($self, $Item, $PropertyDescriptor, $DetailsPage) = @_;
 
-  return $self->GenerateDataCell(@_);
+  return $self->GenerateDataCell($Item, $PropertyDescriptor, $DetailsPage);
 }
 
-sub GenerateDataCell
+sub GenerateDataCell($$$$)
 {
-  my $self = shift;
-  my ($Item, $PropertyDescriptor, $DetailsPage) = @_;
+  my ($self, $Item, $PropertyDescriptor, $DetailsPage) = @_;
 
   print "<td>";
   my $NeedLink;
@@ -330,42 +326,43 @@ sub GenerateDataCell
   print "</td>\n";
 }
 
-sub CallGetDetailsPage
+sub CallGetDetailsPage($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
-  return $self->GetDetailsPage(@_);
+  return $self->GetDetailsPage();
 }
 
-sub GetDetailsPage
+sub GetDetailsPage($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{Collection}->GetItemName() . "Details.pl";
 }
 
-sub CallGetItemActions
+sub CallGetItemActions($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
-  return $self->GetItemActions(@_);
+  return $self->GetItemActions();
 }
 
-sub GetItemActions
+sub GetItemActions($)
 {
+  #my ($self) = @_;
   return ["Delete"];
 }
 
-sub CallGetActions
+sub CallGetActions($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
-  return $self->GetActions(@_);
+  return $self->GetActions();
 }
 
-sub GetActions
+sub GetActions($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my @Actions;
   if ($self->CallGetDetailsPage())
@@ -381,39 +378,37 @@ sub GetActions
   return \@Actions;
 }
 
-sub CallDisplayProperty
+sub CallDisplayProperty($$)
 {
-  my $self = shift;
+  my ($self, $PropertyDescriptor) = @_;
 
-  return $self->DisplayProperty(@_);
+  return $self->DisplayProperty($PropertyDescriptor);
 }
 
-sub DisplayProperty
+sub DisplayProperty($$)
 {
-  my $self = shift;
-  my $PropertyDescriptor = $_[0];
+  my ($self, $PropertyDescriptor) = @_;
 
   return $PropertyDescriptor->GetClass ne "Detailref";
 }
 
-sub CallGetEscapedDisplayValue
+sub CallGetEscapedDisplayValue($$$)
 {
-  my $self = shift;
+  my ($self, $Item, $PropertyDescriptor) = @_;
 
-  return $self->GetEscapedDisplayValue(@_);
+  return $self->GetEscapedDisplayValue($Item, $PropertyDescriptor);
 }
 
-sub CallGetDisplayValue
+sub CallGetDisplayValue($$$)
 {
-  my $self = shift;
+  my ($self, $Item, $PropertyDescriptor) = @_;
 
-  return $self->GetDisplayValue(@_);
+  return $self->GetDisplayValue($Item, $PropertyDescriptor);
 }
 
-sub GetDisplayValue
+sub GetDisplayValue($$$)
 {
-  my $self = shift;
-  my ($Item, $PropertyDescriptor) = @_;
+  my ($self, $Item, $PropertyDescriptor) = @_;
 
   my $PropertyName = $PropertyDescriptor->GetName();
   my $Value = $Item->$PropertyName;
@@ -457,10 +452,9 @@ $Value =
   return $Value;
 }
 
-sub GetEscapedDisplayValue
+sub GetEscapedDisplayValue($$$)
 {
-  my $self = shift;
-  my ($Item, $PropertyDescriptor) = @_;
+  my ($self, $Item, $PropertyDescriptor) = @_;
 
   my $PropertyName = $PropertyDescriptor->GetName();
   my $Value = $Item->$PropertyName;
@@ -486,10 +480,9 @@ sub GetEscapedDisplayValue
   return $Value;
 }
 
-sub OnAction
+sub OnAction($$)
 {
-  my $self = shift;
-  my $Action = $_[0];
+  my ($self, $Action) = @_;
 
   if ($Action eq "Cancel")
   {
@@ -525,17 +518,16 @@ sub OnAction
   }
 }
 
-sub CallOnItemAction
+sub CallOnItemAction($$$)
 {
-  my $self = shift;
+  my ($self, $Item, $Action) = @_;
 
-  return $self->OnItemAction(@_);
+  return $self->OnItemAction($Item, $Action);
 }
 
-sub OnItemAction
+sub OnItemAction($$$)
 {
-  my $self = shift;
-  my ($Item, $Action) = @_;
+  my ($self, $Item, $Action) = @_;
 
   if ($Action eq "Delete")
   {
@@ -547,17 +539,16 @@ sub OnItemAction
   return 1;
 }
 
-sub CallSortKeys
+sub CallSortKeys($$)
 {
-  my $self = shift;
+  my ($self, $Keys) = @_;
 
-  return $self->SortKeys(@_);
+  return $self->SortKeys($Keys);
 }
 
-sub SortKeys
+sub SortKeys($$)
 {
-  my $self = shift;
-  my $Keys = $_[0];
+  my ($self, $Keys) = @_;
 
   return $Keys;
 }
diff --git a/testbot/lib/ObjectModel/CGI/CollectionBlockForPage.pm b/testbot/lib/ObjectModel/CGI/CollectionBlockForPage.pm
index d291c78..d2427ec 100644
--- a/testbot/lib/ObjectModel/CGI/CollectionBlockForPage.pm
+++ b/testbot/lib/ObjectModel/CGI/CollectionBlockForPage.pm
@@ -33,88 +33,88 @@ use vars qw(@ISA @EXPORT);
 require Exporter;
 @ISA = qw(ObjectModel::CGI::CollectionBlock Exporter);
 
-sub CallGenerateFormStart
+sub CallGenerateFormStart($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{EnclosingPage}->GenerateFormStart($self);
 }
 
-sub CallGenerateFormEnd
+sub CallGenerateFormEnd($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{EnclosingPage}->GenerateFormEnd($self);
 }
 
-sub CallGenerateHeaderRow
+sub CallGenerateHeaderRow($$$)
 {
-  my $self = shift;
+  my ($self, $PropertyDescriptors, $Actions) = @_;
 
-  $self->{EnclosingPage}->GenerateHeaderRow($self, @_);
+  $self->{EnclosingPage}->GenerateHeaderRow($self, $PropertyDescriptors, $Actions);
 }
 
-sub CallGenerateDataRow
+sub CallGenerateDataRow($$$$$$)
 {
-  my $self = shift;
+  my ($self, $Item, $PropertyDescriptors, $DetailsPage, $Class, $Actions) = @_;
 
-  $self->{EnclosingPage}->GenerateDataRow($self, @_);
+  $self->{EnclosingPage}->GenerateDataRow($self, $Item, $PropertyDescriptors, $DetailsPage, $Class, $Actions);
 }
 
-sub CallGenerateDataCell
+sub CallGenerateDataCell($$$$)
 {
-  my $self = shift;
+  my ($self, $Item, $PropertyDescriptor, $DetailsPage) = @_;
 
-  return $self->{EnclosingPage}->GenerateDataCell($self, @_);
+  return $self->{EnclosingPage}->GenerateDataCell($self, $Item, $PropertyDescriptor, $DetailsPage);
 }
 
-sub CallGetDetailsPage
+sub CallGetDetailsPage($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
-  return $self->{EnclosingPage}->GetDetailsPage($self, @_);
+  return $self->{EnclosingPage}->GetDetailsPage($self);
 }
 
-sub CallGetItemActions
+sub CallGetItemActions($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
-  return $self->{EnclosingPage}->GetItemActions($self, @_);
+  return $self->{EnclosingPage}->GetItemActions($self);
 }
 
-sub CallGetActions
+sub CallGetActions($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
-  return $self->{EnclosingPage}->GetActions($self, @_);
+  return $self->{EnclosingPage}->GetActions($self);
 }
 
-sub CallDisplayProperty
+sub CallDisplayProperty($$)
 {
-  my $self = shift;
+  my ($self, $PropertyDescriptor) = @_;
 
-  return $self->{EnclosingPage}->DisplayProperty($self, @_);
+  return $self->{EnclosingPage}->DisplayProperty($self, $PropertyDescriptor);
 }
 
-sub CallGetDisplayValue
+sub CallGetDisplayValue($$$)
 {
-  my $self = shift;
+  my ($self, $Item, $PropertyDescriptor) = @_;
 
-  return $self->{EnclosingPage}->GetDisplayValue($self, @_);
+  return $self->{EnclosingPage}->GetDisplayValue($self, $Item, $PropertyDescriptor);
 }
 
-sub CallOnItemAction
+sub CallOnItemAction($$$)
 {
-  my $self = shift;
+  my ($self, $Item, $Action) = @_;
 
-  return $self->{EnclosingPage}->OnItemAction($self, @_);
+  return $self->{EnclosingPage}->OnItemAction($self, $Item, $Action);
 }
 
-sub CallSortKeys
+sub CallSortKeys($$)
 {
-  my $self = shift;
+  my ($self, $Keys) = @_;
 
-  return $self->{EnclosingPage}->SortKeys($self, @_);
+  return $self->{EnclosingPage}->SortKeys($self, $Keys);
 }
 
 1;
diff --git a/testbot/lib/ObjectModel/CGI/CollectionPage.pm b/testbot/lib/ObjectModel/CGI/CollectionPage.pm
index fd57d54..e0714bf 100644
--- a/testbot/lib/ObjectModel/CGI/CollectionPage.pm
+++ b/testbot/lib/ObjectModel/CGI/CollectionPage.pm
@@ -34,19 +34,19 @@ use vars qw(@ISA @EXPORT);
 require Exporter;
 @ISA = qw(ObjectModel::CGI::Page Exporter);
 
-sub _initialize
+
+sub _initialize($$$$)
 {
-  my $self = shift;
-  my ($Request, $RequiredRole, $Collection) = @_;
+  my ($self, $Request, $RequiredRole, $Collection) = @_;
 
   $self->{Collection} = $Collection;
 
   $self->SUPER::_initialize($Request, $RequiredRole);
 }
 
-sub GeneratePage
+sub GeneratePage($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   if ($self->GetParam("Action"))
   {
@@ -55,12 +55,12 @@ sub GeneratePage
                                                $self->GetParam("Action"));
   }
 
-  $self->SUPER::GeneratePage(@_);
+  $self->SUPER::GeneratePage();
 }
 
-sub GenerateTitle
+sub GenerateTitle($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $Title = $self->GetTitle();
   if ($Title)
@@ -69,9 +69,9 @@ sub GenerateTitle
   }
 }
 
-sub GenerateBody
+sub GenerateBody($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   print "<div class='CollectionPageBody'>\n";
   $self->GenerateTitle();
@@ -82,124 +82,109 @@ sub GenerateBody
   print "</div>\n";
 }
 
-sub GenerateFormStart
+sub GenerateFormStart($$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock) = @_;
 
-  $CollectionBlock->GenerateFormStart(@_);
+  $CollectionBlock->GenerateFormStart();
 }
 
-sub GenerateFormEnd
+sub GenerateFormEnd($$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock) = @_;
 
-  $CollectionBlock->GenerateFormEnd(@_);
+  $CollectionBlock->GenerateFormEnd();
 }
 
-sub GenerateHeaderRow
+sub GenerateHeaderRow($$$$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock, $PropertyDescriptors, $Actions) = @_;
 
-  $CollectionBlock->GenerateHeaderRow(@_);
+  $CollectionBlock->GenerateHeaderRow($PropertyDescriptors, $Actions);
 }
 
-sub GenerateDataRow
+sub GenerateDataRow($$$$$$$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock, $Item, $PropertyDescriptors, $DetailsPage, $Class, $Actions) = @_;
 
-  $CollectionBlock->GenerateDataRow(@_);
+  $CollectionBlock->GenerateDataRow($Item, $PropertyDescriptors, $DetailsPage, $Class, $Actions);
 }
 
-sub GenerateDataCell
+sub GenerateDataCell($$$$$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock, $Item, $PropertyDescriptor, $DetailsPage) = @_;
 
-  $CollectionBlock->GenerateDataCell(@_);
+  $CollectionBlock->GenerateDataCell($Item, $PropertyDescriptor, $DetailsPage);
 }
 
-sub CreateCollectionBlock
+sub CreateCollectionBlock($$)
 {
-  my $self = shift;
-  my $Collection = $_[0];
+  my ($self, $Collection) = @_;
 
   return ObjectModel::CGI::CollectionBlockForPage->new($Collection, $self);
 }
 
-sub GetDetailsPage
+sub GetDetailsPage($$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock) = @_;
 
-  return $CollectionBlock->GetDetailsPage(@_);
+  return $CollectionBlock->GetDetailsPage();
 }
 
-sub GetTitle
+sub GetTitle($)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self) = @_;
 
   return ucfirst($self->{Collection}->GetCollectionName());
 }
 
-sub GetItemActions
+sub GetItemActions($$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock) = @_;
 
-  return $CollectionBlock->GetItemActions(@_);
+  return $CollectionBlock->GetItemActions();
 }
 
-sub GetActions
+sub GetActions($$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock) = @_;
 
-  return $CollectionBlock->GetActions(@_);
+  return $CollectionBlock->GetActions();
 }
 
-sub DisplayProperty
+sub DisplayProperty($$$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock, $PropertyDescriptor) = @_;
 
-  return $CollectionBlock->DisplayProperty(@_);
+  return $CollectionBlock->DisplayProperty($PropertyDescriptor);
 }
 
-sub OnAction
+sub OnAction($$$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock, $Action) = @_;
 
-  $CollectionBlock->OnAction(@_);
+  $CollectionBlock->OnAction($Action);
 }
 
-sub OnItemAction
+sub OnItemAction($$$$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock, $Item, $Action) = @_;
 
-  return $CollectionBlock->OnItemAction(@_);
+  return $CollectionBlock->OnItemAction($Item, $Action);
 }
 
-sub GetDisplayValue
+sub GetDisplayValue($$$$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock, $Item, $PropertyDescriptor) = @_;
 
-  return $CollectionBlock->GetDisplayValue(@_);
+  return $CollectionBlock->GetDisplayValue($Item, $PropertyDescriptor);
 }
 
-sub SortKeys
+sub SortKeys($$$)
 {
-  my $self = shift;
-  my $CollectionBlock = shift;
+  my ($self, $CollectionBlock, $Keys) = @_;
 
-  return $CollectionBlock->SortKeys(@_);
+  return $CollectionBlock->SortKeys($Keys);
 }
 
 1;
diff --git a/testbot/lib/ObjectModel/CGI/FormPage.pm b/testbot/lib/ObjectModel/CGI/FormPage.pm
index 0bf8694..dc4a58a 100644
--- a/testbot/lib/ObjectModel/CGI/FormPage.pm
+++ b/testbot/lib/ObjectModel/CGI/FormPage.pm
@@ -34,7 +34,7 @@ use vars qw(@ISA @EXPORT);
 require Exporter;
 @ISA = qw(ObjectModel::CGI::Page Exporter);
 
-sub _initialize
+sub _initialize($$$$)
 {
   my ($self, $Request, $RequiredRole, $PropertyDescriptors) = @_;
 
@@ -45,17 +45,16 @@ sub _initialize
   $self->{ActionPerformed} = !1;
 }
 
-sub GetPropertyDescriptors
+sub GetPropertyDescriptors($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{PropertyDescriptors};
 }
 
-sub GetPropertyDescriptorByName
+sub GetPropertyDescriptorByName($$)
 {
-  my $self = shift;
-  my $Name = shift;
+  my ($self, $Name) = @_;
 
   my $PropertyDescriptors = $self->GetPropertyDescriptors();
   foreach my $PropertyDescriptor (@{$PropertyDescriptors})
@@ -69,21 +68,21 @@ sub GetPropertyDescriptorByName
   return undef;
 }
 
-sub GeneratePage
+sub GeneratePage($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   if ($self->GetParam("Action"))
   {
     $self->{ActionPerformed} = $self->OnAction($self->GetParam("Action"));
   }
 
-  $self->SUPER::GeneratePage(@_);
+  $self->SUPER::GeneratePage();
 }
 
-sub GenerateTitle
+sub GenerateTitle($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $Title = $self->GetTitle();
   if ($Title)
@@ -92,9 +91,9 @@ sub GenerateTitle
   }
 }
 
-sub GenerateBody
+sub GenerateBody($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   print "<div class='ItemBody'>\n";
   $self->GenerateTitle();
@@ -134,15 +133,16 @@ sub GenerateBody
   print "</div>\n";
 }
 
-sub GenerateFormStart
+sub GenerateFormStart($)
 {
+  #my ($self) = @_;
   print "<form action='" . $ENV{"SCRIPT_NAME"} .
        "' method='post' enctype='multipart/form-data'>\n";
 }
 
-sub GenerateFields
+sub GenerateFields($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $PropertyDescriptors = $self->GetPropertyDescriptors();
   foreach my $PropertyDescriptor (@{$PropertyDescriptors})
@@ -159,9 +159,9 @@ sub GenerateFields
   }
 }
 
-sub GenerateRequiredLegend
+sub GenerateRequiredLegend($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   if ($self->{HasRequired})
   {
@@ -169,9 +169,9 @@ sub GenerateRequiredLegend
   }
 }
 
-sub GenerateActions
+sub GenerateActions($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   print "<div class='ItemActions'>\n";
   foreach my $Action (@{$self->GetActions()})
@@ -181,20 +181,21 @@ sub GenerateActions
   print "</div>\n";
 }
 
-sub GenerateFormEnd
+sub GenerateFormEnd($)
 {
+  #my ($self) = @_;
   print "</form>\n";
 }
 
-sub GetPropertyValue
+sub GetPropertyValue($$)
 {
+  #my ($self, $PropertyDescriptor) = @_;
   return undef;
 }
 
-sub GetDisplayValue
+sub GetDisplayValue($$)
 {
-  my $self = shift;
-  my $PropertyDescriptor = shift;
+  my ($self, $PropertyDescriptor) = @_;
 
   my $Value;
   if (defined($self->GetParam($PropertyDescriptor->GetName())))
@@ -209,18 +210,16 @@ sub GetDisplayValue
   return $Value;
 }
 
-sub GetDisplayName
+sub GetDisplayName($$)
 {
-  my $self = shift;
-  my $PropertyDescriptor = shift;
+  my ($self, $PropertyDescriptor) = @_;
 
   return $PropertyDescriptor->GetDisplayName();
 }
 
-sub GetInputType
+sub GetInputType($$)
 {
-  my $self = shift;
-  my $PropertyDescriptor = shift;
+  my ($self, $PropertyDescriptor) = @_;
 
   if ($PropertyDescriptor->GetClass() eq "Enum")
   {
@@ -235,10 +234,9 @@ sub GetInputType
   return "text";
 }
 
-sub GenerateField
+sub GenerateField($$$)
 {
-  my $self = shift;
-  my ($PropertyDescriptor, $Display) = @_;
+  my ($self, $PropertyDescriptor, $Display) = @_;
 
   my $Value = $self->GetDisplayValue($PropertyDescriptor);
   if ($Display eq "rw")
@@ -314,10 +312,9 @@ sub GenerateField
   }
 }
 
-sub GenerateRequired
+sub GenerateRequired($$)
 {
-  my $self = shift;
-  my $PropertyDescriptor = shift;
+  my ($self, $PropertyDescriptor) = @_;
 
   if ($PropertyDescriptor->GetIsRequired())
   {
@@ -326,25 +323,27 @@ sub GenerateRequired
   }
 }
 
-sub GetTitle
+sub GetTitle($)
 {
+  #my ($self) = @_;
   return undef;
 }
 
-sub GetHeaderText
+sub GetHeaderText($)
 {
+  #my ($self) = @_;
   return undef;
 }
 
-sub GetFooterText
+sub GetFooterText($)
 {
+  #my ($self) = @_;
   return undef;
 }
 
-sub DisplayProperty
+sub DisplayProperty($$)
 {
-  my $self = shift;
-  my $PropertyDescriptor = $_[0];
+  my ($self, $PropertyDescriptor) = @_;
 
   if ($PropertyDescriptor->GetClass() eq "Detailref")
   {
@@ -354,19 +353,21 @@ sub DisplayProperty
   return "rw";
 }
 
-sub GetActions
+sub GetActions($)
 {
+  #my ($self) = @_;
   return [];
 }
 
-sub SaveProperty
+sub SaveProperty($$$)
 {
+  #my ($self, $PropertyDescriptor, $Value) = @_;
   die "Pure virtual function FormPage::SaveProperty called";
 }
 
-sub Save
+sub Save($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my @ParamNames = $self->GetParam();
   foreach my $ParameterName (@ParamNames)
@@ -401,17 +402,16 @@ sub Save
   return ! defined($self->{ErrMessage});
 }
 
-sub OnAction
+sub OnAction($$)
 {
-  my $self = shift;
-  my $Action = $_[0];
+  my ($self, $Action) = @_;
 
   die "No action defined for $Action";
 }
 
-sub Validate
+sub Validate($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $PropertyDescriptors = $self->GetPropertyDescriptors();
   foreach my $PropertyDescriptor (@{$PropertyDescriptors})
diff --git a/testbot/lib/ObjectModel/CGI/ItemPage.pm b/testbot/lib/ObjectModel/CGI/ItemPage.pm
index 46925f3..f434dd3 100644
--- a/testbot/lib/ObjectModel/CGI/ItemPage.pm
+++ b/testbot/lib/ObjectModel/CGI/ItemPage.pm
@@ -35,10 +35,9 @@ use vars qw(@ISA @EXPORT);
 require Exporter;
 @ISA = qw(ObjectModel::CGI::FormPage Exporter);
 
-sub _initialize
+sub _initialize($$$$)
 {
-  my $self = shift;
-  my ($Request, $RequiredRole, $Collection) = @_;
+  my ($self, $Request, $RequiredRole, $Collection) = @_;
 
   $self->{Collection} = $Collection;
 
@@ -58,9 +57,9 @@ sub _initialize
   }
 }
 
-sub GenerateFormStart
+sub GenerateFormStart($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->SUPER::GenerateFormStart();
 
@@ -81,18 +80,17 @@ sub GenerateFormStart
   }
 }
 
-sub GetPropertyValue
+sub GetPropertyValue($$)
 {
-  my $self = shift;
-  my $PropertyDescriptor = $_[0];
+  my ($self, $PropertyDescriptor) = @_;
 
   my $PropertyName = $PropertyDescriptor->GetName();
   return $self->{Item}->$PropertyName;
 }
 
-sub GetTitle
+sub GetTitle($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $Title;
   if ($self->GetParam("Key"))
@@ -107,12 +105,11 @@ sub GetTitle
   return $self->escapeHTML($Title);
 }
 
-sub DisplayProperty
+sub DisplayProperty($$)
 {
-  my $self = shift;
-  my $PropertyDescriptor = $_[0];
+  my ($self, $PropertyDescriptor) = @_;
 
-  my $Display = $self->SUPER::DisplayProperty(@_);
+  my $Display = $self->SUPER::DisplayProperty($PropertyDescriptor);
   if ($Display eq "rw" && ! $self->{Item}->GetIsNew() &&
       $PropertyDescriptor->GetIsKey())
   {
@@ -122,9 +119,9 @@ sub DisplayProperty
   return $Display;
 }
 
-sub GetActions
+sub GetActions($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my @Actions = @{$self->SUPER::GetActions()};
   $Actions[@Actions] = "OK";
@@ -133,10 +130,9 @@ sub GetActions
   return \@Actions;
 }
 
-sub SaveProperty
+sub SaveProperty($$$)
 {
-  my $self = shift;
-  my ($PropertyDescriptor, $Value) = @_;
+  my ($self, $PropertyDescriptor, $Value) = @_;
 
   if ($PropertyDescriptor->GetClass() eq "Basic" &&
       $PropertyDescriptor->GetType() eq "B" && $Value)
@@ -150,10 +146,9 @@ sub SaveProperty
   return 1;
 }
 
-sub OnAction
+sub OnAction($$)
 {
-  my $self = shift;
-  my $Action = $_[0];
+  my ($self, $Action) = @_;
 
   if ($Action eq "OK")
   {
@@ -167,12 +162,12 @@ sub OnAction
     exit;
   }
 
-  return $self->SUPER::OnAction(@_);
+  return $self->SUPER::OnAction($Action);
 }
 
-sub RedirectToList
+sub RedirectToList($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $Target = $self->{Collection}->GetCollectionName() . "List.pl";
   my ($MasterColNames, $MasterColValues) = $self->{Collection}->GetMasterCols();
diff --git a/testbot/lib/ObjectModel/CGI/Page.pm b/testbot/lib/ObjectModel/CGI/Page.pm
index 6b2276d..7946603 100644
--- a/testbot/lib/ObjectModel/CGI/Page.pm
+++ b/testbot/lib/ObjectModel/CGI/Page.pm
@@ -34,10 +34,10 @@ require Exporter;
 @ISA = qw(Exporter);
 @EXPORT = qw(new SetPageBaseCreator);
 
-sub new
+sub new($$$@)
 {
   my $class = shift;
-  my ($Request, $RequiredRole) = @_;
+  my ($Request, $_RequiredRole) = @_;
 
   my $self = {Request => $Request,
               CGIObj => CGI->new($Request),
@@ -49,112 +49,121 @@ sub new
   return $self;
 }
 
-sub _initialize
+sub _initialize($$$)
 {
   #my ($self, $Request, $RequiredRole) = @_;
 }
 
-sub GetParam
+=pod
+=over 12
+
+=head1 C<GetParam()>
+
+This thunks to CGI::param() and thus takes the same arguments list.
+
+=back
+=cut
+
+sub GetParam($@)
 {
   my $self = shift;
 
   return $self->{CGIObj}->param(@_);
 }
 
-sub CGI
+sub CGI($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{CGIObj};
 }
 
-sub escapeHTML
+sub escapeHTML($$)
 {
-  my $self = shift;
+  my ($self, $String) = @_;
 
-  return $self->{CGIObj}->escapeHTML(@_);
+  return $self->{CGIObj}->escapeHTML($String);
 }
 
-sub GetPageBase
+sub GetPageBase($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{PageBase};
 }
 
-sub GenerateHttpHeaders
+sub GenerateHttpHeaders($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{PageBase}->GenerateHttpHeaders($self);
 }
 
-sub UnsetCookies
+sub UnsetCookies($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{PageBase}->UnsetCookies($self);
 }
 
-sub SetCookies
+sub SetCookies($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{PageBase}->SetCookies($self);
 }
 
-sub GetPageTitle
+sub GetPageTitle($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{PageBase}->GetPageTitle($self);
 }
 
-sub GetTitle
+sub GetTitle($)
 {
-  my $self = shift;
-
+  #my ($self) = @_;
   return undef;
 }
 
-sub GenerateHeader
+sub GenerateHeader($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{PageBase}->GenerateHeader($self);
 }
 
-sub GenerateFooter
+sub GenerateFooter($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{PageBase}->GenerateFooter($self);
 }
 
-sub GenerateErrorDiv
+sub GenerateErrorDiv($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{PageBase}->GenerateErrorDiv($self);
 }
 
-sub GenerateErrorPopup
+sub GenerateErrorPopup($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->{PageBase}->GenerateErrorPopup($self);
 }
 
-sub GenerateBody
+sub GenerateBody($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   die "Pure virtual function " . ref($self) . "::GenerateBody called";
 }
 
-sub GeneratePage
+sub GeneratePage($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   $self->GenerateHttpHeaders();
   $self->GenerateHeader();
@@ -162,44 +171,44 @@ sub GeneratePage
   $self->GenerateFooter();
 }
 
-sub Redirect
+sub Redirect($$)
 {
-  my $self = shift;
+  my ($self, $Location) = @_;
 
-  $self->{PageBase}->Redirect($self, @_);
+  $self->{PageBase}->Redirect($self, $Location);
 }
 
-sub GetCurrentSession
+sub GetCurrentSession($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{PageBase}->GetCurrentSession();
 }
 
-sub SetCurrentSession
+sub SetCurrentSession($$)
 {
-  my $self = shift;
+  my ($self, $Session) = @_;
 
-  $self->{PageBase}->SetCurrentSession($self, @_);
+  $self->{PageBase}->SetCurrentSession($self, $Session);
 }
 
-sub GetErrMessage
+sub GetErrMessage($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{ErrMessage};
 }
 
-sub GetErrField
+sub GetErrField($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{ErrField};
 }
 
-sub SetPageBaseCreator
+sub SetPageBaseCreator($)
 {
-  $PageBaseCreator = shift;
+  ($PageBaseCreator) = @_;
 }
 
 1;
diff --git a/testbot/lib/WineTestBot/CGI/PageBase.pm b/testbot/lib/WineTestBot/CGI/PageBase.pm
index 7d75c5e..bfa44c4 100644
--- a/testbot/lib/WineTestBot/CGI/PageBase.pm
+++ b/testbot/lib/WineTestBot/CGI/PageBase.pm
@@ -41,7 +41,7 @@ require Exporter;
 @ISA = qw(Exporter);
 @EXPORT = qw(&CreatePageBase);
 
-sub new
+sub new($$$$@)
 {
   my $class = shift;
   my ($Page, $Request, $RequiredRole) = @_;
@@ -66,15 +66,14 @@ sub new
   return $self;
 }
 
-sub _initialize
+sub _initialize($$$$)
 {
   #my ($self, $Page, $Request, $RequiredRole) = @_;
 }
 
-sub CheckSecurePage
+sub CheckSecurePage($$)
 {
-  my $self = shift;
-  my $Page = $_[0];
+  my ($self, $Page) = @_;
 
   if (! $UseSSL || SecureConnection())
   {
@@ -84,9 +83,9 @@ sub CheckSecurePage
   $self->Redirect($Page, MakeSecureURL($ENV{"REQUEST_URI"}));
 }
 
-sub GenerateHttpHeaders
+sub GenerateHttpHeaders($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $Request = $self->{Request};
 
@@ -109,9 +108,9 @@ sub GenerateHttpHeaders
   $self->SetCookies();
 }
 
-sub UnsetCookies
+sub UnsetCookies($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $Request = $self->{Request};
   my %Cookies = CGI::Cookie->fetch($Request);
@@ -138,9 +137,9 @@ sub UnsetCookies
   delete $Request->headers_in->{"Cookie"};
 }
 
-sub SetCookies
+sub SetCookies($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   my $Request = $self->{Request};
   if ($self->SessionActive())
@@ -196,10 +195,9 @@ sub SetCookies
   }
 }
 
-sub GetPageTitle
+sub GetPageTitle($$)
 {
-  my $self = shift;
-  my $Page = $_[0];
+  my ($self, $Page) = @_;
 
   my $Title = $Page->GetTitle() || "";
   $Title .= " - " if ($Title ne "");
@@ -207,10 +205,9 @@ sub GetPageTitle
   return $Title;
 }
 
-sub GenerateHeader
+sub GenerateHeader($$)
 {
-  my $self = shift;
-  my $Page = $_[0];
+  my ($self, $Page) = @_;
 
   my $Title = $Page->CGI->escapeHTML($Page->GetPageTitle());
   print <<EOF;
@@ -324,9 +321,9 @@ EOF
 EOF
 }
 
-sub GenerateFooter
+sub GenerateFooter($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   print <<EOF;
     </div>
@@ -339,10 +336,9 @@ sub GenerateFooter
 EOF
 }
 
-sub GenerateErrorDiv
+sub GenerateErrorDiv($$)
 {
-  my $self = shift;
-  my $Page = shift;
+  my ($self, $Page) = @_;
 
   my $ErrMessage = $Page->GetErrMessage();
   if ($ErrMessage)
@@ -353,10 +349,9 @@ sub GenerateErrorDiv
   }
 }
 
-sub GenerateErrorPopup
+sub GenerateErrorPopup($$)
 {
-  my $self = shift;
-  my $Page = shift;
+  my ($self, $Page) = @_;
 
   my $ErrMessage = $Page->GetErrMessage();
   if ($ErrMessage)
@@ -375,17 +370,16 @@ sub GenerateErrorPopup
   }
 }
 
-sub GenerateBody
+sub GenerateBody($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   die "Pure virtual function " . ref($self) . "::GenerateBody called";
 }
 
-sub GetOnLoadJavascriptFunction
+sub GetOnLoadJavascriptFunction($$)
 {
-  my $self = shift;
-  my $Page = $_[0];
+  my ($self, $Page) = @_;
 
   if ($Page->GetErrMessage())
   {
@@ -395,10 +389,9 @@ sub GetOnLoadJavascriptFunction
   return undef;
 }
 
-sub Redirect
+sub Redirect($$$)
 {
-  my $self = shift;
-  my ($Page, $Location) = @_;
+  my ($self, $Page, $Location) = @_;
 
   $self->SetCookies();
   if (substr($Location, 0, 4) ne "http")
@@ -422,9 +415,9 @@ sub Redirect
   exit;
 }
 
-sub GetCurrentSession
+sub GetCurrentSession($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   if ($UseSSL && ! SecureConnection())
   {
@@ -445,10 +438,9 @@ sub GetCurrentSession
   return $self->{Session};
 }
 
-sub SetCurrentSession
+sub SetCurrentSession($$$)
 {
-  my $self = shift;
-  my ($Page, $Session) = @_;
+  my ($self, $Page, $Session) = @_;
 
   $self->{Session} = $Session;
   if (! defined($Session))
@@ -457,9 +449,9 @@ sub SetCurrentSession
   }
 }
 
-sub SessionActive
+sub SessionActive($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   if (defined($self->GetCurrentSession()))
   {
@@ -475,8 +467,9 @@ sub SessionActive
   return !1;
 }
 
-sub CreatePageBase
+sub CreatePageBase($$$@)
 {
+  #my ($Page, $Request, $RequiredRole) = @_;
   return WineTestBot::CGI::PageBase->new(@_);
 }
 
diff --git a/testbot/lib/WineTestBot/CGI/Sessions.pm b/testbot/lib/WineTestBot/CGI/Sessions.pm
index 3fbef8a..d572647 100644
--- a/testbot/lib/WineTestBot/CGI/Sessions.pm
+++ b/testbot/lib/WineTestBot/CGI/Sessions.pm
@@ -34,7 +34,7 @@ require Exporter;
 use vars qw(@ISA @EXPORT);
 @ISA = qw(WineTestBot::WineTestBotItem Exporter);
 
-sub InitializeNew
+sub InitializeNew($$)
 {
   my ($self, $Collection) = @_;
 
@@ -68,16 +68,16 @@ BEGIN
   );
 }
 
-sub CreateItem
+sub CreateItem($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return WineTestBot::CGI::Session->new($self);
 }
 
 sub DeleteNonPermanentSessions($)
 {
-  my $User = $_[0];
+  my ($User) = @_;
 
   my $Sessions = CreateSessions();
   $Sessions->AddFilter("User", [$User]);
@@ -87,17 +87,16 @@ sub DeleteNonPermanentSessions($)
 
 sub DeleteSessions($)
 {
-  my $User = $_[0];
+  my ($User) = @_;
 
   my $Sessions = CreateSessions();
   $Sessions->AddFilter("User", [$User]);
   map { $Sessions->DeleteItem($_); } @{$Sessions->GetItems()};
 }
 
-sub NewSession
+sub NewSession($$$)
 {
-  my $self = shift;
-  my ($User, $Permanent) = @_;
+  my ($self, $User, $Permanent) = @_;
 
   DeleteNonPermanentSessions($User);
 
-- 
2.0.0.rc2




More information about the wine-patches mailing list