diff --git a/modules/Bio/EnsEMBL/Hive/AnalysisCtrlRule.pm b/modules/Bio/EnsEMBL/Hive/AnalysisCtrlRule.pm index cf7880fc9393a7c0cf78190aed69397c1723fdfa..711935fe4167bff670d059dfa64aa0be5f56e91e 100755 --- a/modules/Bio/EnsEMBL/Hive/AnalysisCtrlRule.pm +++ b/modules/Bio/EnsEMBL/Hive/AnalysisCtrlRule.pm @@ -42,6 +42,8 @@ package Bio::EnsEMBL::Hive::AnalysisCtrlRule; use strict; +use Scalar::Util ('weaken'); + use Bio::EnsEMBL::Hive::URLFactory; use Bio::EnsEMBL::Hive::Extensions; use Bio::EnsEMBL::Utils::Argument; @@ -76,9 +78,14 @@ sub new { } sub adaptor { - my ( $self, $adaptor ) = @_; - $self->{'_adaptor'} = $adaptor if defined $adaptor; - return $self->{'_adaptor'}; + my $self = shift @_; + + if(@_) { + $self->{'_adaptor'} = shift @_; + weaken $self->{'_adaptor'}; + } + + return $self->{'_adaptor'}; } diff --git a/modules/Bio/EnsEMBL/Hive/AnalysisJob.pm b/modules/Bio/EnsEMBL/Hive/AnalysisJob.pm index 04b6b95c9af990618767f64256b94366396f935e..82b3552fc1e64014e6d201f1523ad11fa9faa091 100755 --- a/modules/Bio/EnsEMBL/Hive/AnalysisJob.pm +++ b/modules/Bio/EnsEMBL/Hive/AnalysisJob.pm @@ -27,6 +27,8 @@ package Bio::EnsEMBL::Hive::AnalysisJob; use strict; +use Scalar::Util ('weaken'); + use Bio::EnsEMBL::Utils::Argument; # import 'rearrange()' use Bio::EnsEMBL::Hive::DBSQL::AnalysisJobAdaptor; use Bio::EnsEMBL::Hive::DBSQL::DataflowRuleAdaptor; @@ -58,11 +60,17 @@ sub new { } sub adaptor { - my $self = shift; - $self->{'_adaptor'} = shift if(@_); - return $self->{'_adaptor'}; + my $self = shift @_; + + if(@_) { + $self->{'_adaptor'} = shift @_; + weaken $self->{'_adaptor'}; + } + + return $self->{'_adaptor'}; } + sub dbID { my $self = shift; $self->{'_dbID'} = shift if(@_); diff --git a/modules/Bio/EnsEMBL/Hive/AnalysisStats.pm b/modules/Bio/EnsEMBL/Hive/AnalysisStats.pm index d6e5ed9f6ca43761c3f0ee2825a8154792166371..a9b381b0ee533c643faf27d42e8403654351941d 100755 --- a/modules/Bio/EnsEMBL/Hive/AnalysisStats.pm +++ b/modules/Bio/EnsEMBL/Hive/AnalysisStats.pm @@ -26,6 +26,7 @@ package Bio::EnsEMBL::Hive::AnalysisStats; use strict; +use Scalar::Util ('weaken'); use Bio::EnsEMBL::Analysis; use Bio::EnsEMBL::DBSQL::DBAdaptor; @@ -44,12 +45,19 @@ sub new { return $self; } + sub adaptor { - my $self = shift; - $self->{'_adaptor'} = shift if(@_); - return $self->{'_adaptor'}; + my $self = shift @_; + + if(@_) { + $self->{'_adaptor'} = shift @_; + weaken $self->{'_adaptor'}; + } + + return $self->{'_adaptor'}; } + sub refresh { my $self = shift; diff --git a/modules/Bio/EnsEMBL/Hive/DataflowRule.pm b/modules/Bio/EnsEMBL/Hive/DataflowRule.pm index c52edd1b3c9b28cbb43047d9f735f13acd479407..2ddd3cc04dc836af3a6df77c442627b57da7be99 100755 --- a/modules/Bio/EnsEMBL/Hive/DataflowRule.pm +++ b/modules/Bio/EnsEMBL/Hive/DataflowRule.pm @@ -50,6 +50,8 @@ package Bio::EnsEMBL::Hive::DataflowRule; use strict; +use Scalar::Util ('weaken'); + use Bio::EnsEMBL::Utils::Argument; # import 'rearrange()' use Bio::EnsEMBL::Utils::Exception; use Bio::EnsEMBL::Hive::DBSQL::AnalysisAdaptor; @@ -112,12 +114,15 @@ sub dbID { sub adaptor { my $self = shift @_; - if(@_) { # setter mode + if(@_) { $self->{'_adaptor'} = shift @_; + weaken $self->{'_adaptor'}; } + return $self->{'_adaptor'}; } + =head2 branch_code Function: getter/setter method for the branch_code of the dataflow rule diff --git a/modules/Bio/EnsEMBL/Hive/NakedTable.pm b/modules/Bio/EnsEMBL/Hive/NakedTable.pm index fb40d4df127050c5208724c9c43de5c5f8b8e666..48f20497904b101b8d3fc958f36b711a5bb12867 100644 --- a/modules/Bio/EnsEMBL/Hive/NakedTable.pm +++ b/modules/Bio/EnsEMBL/Hive/NakedTable.pm @@ -20,6 +20,8 @@ package Bio::EnsEMBL::Hive::NakedTable; use strict; +use Scalar::Util ('weaken'); + use Bio::EnsEMBL::Utils::Argument; # import 'rearrange()' sub new { @@ -37,15 +39,19 @@ sub new { return $self; } + sub adaptor { my $self = shift @_; if(@_) { $self->{'_adaptor'} = shift @_; + weaken $self->{'_adaptor'}; } + return $self->{'_adaptor'}; } + sub table_name { my $self = shift @_; diff --git a/modules/Bio/EnsEMBL/Hive/ResourceDescription.pm b/modules/Bio/EnsEMBL/Hive/ResourceDescription.pm index 337251a7f024e0cfbbc7a99b7b01f7a9324664b9..671a77c29548e09c760c812ef83f40cd0d189aee 100644 --- a/modules/Bio/EnsEMBL/Hive/ResourceDescription.pm +++ b/modules/Bio/EnsEMBL/Hive/ResourceDescription.pm @@ -27,6 +27,8 @@ package Bio::EnsEMBL::Hive::ResourceDescription; use strict; +use Scalar::Util ('weaken'); + use Bio::EnsEMBL::Utils::Argument; # import 'rearrange()' sub new { @@ -46,15 +48,19 @@ sub new { return $self; } + sub adaptor { my $self = shift @_; if(@_) { $self->{'_adaptor'} = shift @_; + weaken $self->{'_adaptor'}; } + return $self->{'_adaptor'}; } + sub rc_id { my $self = shift @_;