From 51c442fb9e1eb1c779a5ba18105335fe54eb234c Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Tue, 6 Mar 2018 18:42:09 -0500 Subject: Revert Bug 1273381 This reverts commit ed53ecda0546d6c639fa3d227a59ace4d57b81a5. --- Bugzilla/Attachment.pm | 7 -- Bugzilla/Bug.pm | 8 -- Bugzilla/BugUrl.pm | 7 -- Bugzilla/BugUserLastVisit.pm | 8 +- Bugzilla/Classification.pm | 11 -- Bugzilla/Comment.pm | 7 -- Bugzilla/Comment/TagWeights.pm | 13 +-- Bugzilla/Component.pm | 7 -- Bugzilla/Field.pm | 11 -- Bugzilla/Field/Choice.pm | 10 -- Bugzilla/Flag.pm | 7 +- Bugzilla/FlagType.pm | 9 +- Bugzilla/Group.pm | 7 -- Bugzilla/Keyword.pm | 7 -- Bugzilla/Milestone.pm | 8 +- Bugzilla/Object.pm | 3 + Bugzilla/Product.pm | 7 -- Bugzilla/Search/Recent.pm | 11 +- Bugzilla/Search/Saved.pm | 7 -- Bugzilla/User.pm | 9 +- Bugzilla/User/APIKey.pm | 12 +-- Bugzilla/User/Session.pm | 9 +- Bugzilla/Version.pm | 8 -- Bugzilla/Whine.pm | 8 -- Bugzilla/Whine/Query.pm | 9 +- Bugzilla/Whine/Schedule.pm | 7 -- extensions/BugmailFilter/lib/Filter.pm | 6 -- extensions/MyDashboard/lib/BugInterest.pm | 8 +- extensions/Push/lib/BacklogMessage.pm | 7 -- extensions/Push/lib/Backoff.pm | 7 -- extensions/Push/lib/LogEntry.pm | 7 -- extensions/Push/lib/Message.pm | 6 -- extensions/Push/lib/Option.pm | 9 +- extensions/Review/lib/FlagStateActivity.pm | 10 -- extensions/TrackingFlags/lib/Flag.pm | 11 +- extensions/TrackingFlags/lib/Flag/Bug.pm | 7 -- extensions/TrackingFlags/lib/Flag/Value.pm | 9 +- extensions/TrackingFlags/lib/Flag/Visibility.pm | 7 -- t/bugzilla-objects-def.t | 136 ------------------------ 39 files changed, 20 insertions(+), 427 deletions(-) delete mode 100644 t/bugzilla-objects-def.t diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm index 4498fedf2..0bdb50c9a 100644 --- a/Bugzilla/Attachment.pm +++ b/Bugzilla/Attachment.pm @@ -113,13 +113,6 @@ use constant UPDATE_VALIDATORS => { #### Accessors ###### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - =pod =head2 Instance Properties diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 5e45b67b1..ee48ed7a2 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -54,15 +54,7 @@ my %CLEANUP; use constant DB_TABLE => 'bugs'; use constant ID_FIELD => 'bug_id'; - use constant NAME_FIELD => 'alias'; -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - use constant LIST_ORDER => ID_FIELD; # Bugs have their own auditing table, bugs_activity. use constant AUDIT_CREATES => 0; diff --git a/Bugzilla/BugUrl.pm b/Bugzilla/BugUrl.pm index 9e5750c75..4724ae71a 100644 --- a/Bugzilla/BugUrl.pm +++ b/Bugzilla/BugUrl.pm @@ -74,13 +74,6 @@ use constant SUB_CLASSES => qw( #### Accessors ###### ############################### -use Class::XSAccessor { - accessors => { - name => __PACKAGE__->NAME_FIELD, - id => __PACKAGE__->ID_FIELD, - }, -}; - sub class { return $_[0]->{class} } sub bug_id { return $_[0]->{bug_id} } diff --git a/Bugzilla/BugUserLastVisit.pm b/Bugzilla/BugUserLastVisit.pm index 635cb4392..f40ea17d3 100644 --- a/Bugzilla/BugUserLastVisit.pm +++ b/Bugzilla/BugUserLastVisit.pm @@ -30,17 +30,11 @@ use constant { AUDIT_CREATES => 0, AUDIT_REMOVES => 0, USE_MEMCACHED => 0 }; -use Class::XSAccessor { - accessors => { - name => __PACKAGE__->NAME_FIELD, - id => __PACKAGE__->ID_FIELD, - }, -}; - ##################################################################### # Provide accessors for our columns ##################################################################### +sub id { return $_[0]->{id} } sub bug_id { return $_[0]->{bug_id} } sub user_id { return $_[0]->{user_id} } sub last_visit_ts { return $_[0]->{last_visit_ts} } diff --git a/Bugzilla/Classification.pm b/Bugzilla/Classification.pm index e34f8dde8..a931767d2 100644 --- a/Bugzilla/Classification.pm +++ b/Bugzilla/Classification.pm @@ -47,17 +47,6 @@ use constant VALIDATORS => { sortkey => \&_check_sortkey, }; -############################### -#### Accessors ###### -############################### - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - ############################### #### Constructors ##### ############################### diff --git a/Bugzilla/Comment.pm b/Bugzilla/Comment.pm index 86094db59..f9a6f7d3a 100644 --- a/Bugzilla/Comment.pm +++ b/Bugzilla/Comment.pm @@ -228,13 +228,6 @@ sub preload { #### Accessors ###### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub already_wrapped { return $_[0]->{'already_wrapped'}; } sub body { return $_[0]->{'thetext'}; } sub bug_id { return $_[0]->{'bug_id'}; } diff --git a/Bugzilla/Comment/TagWeights.pm b/Bugzilla/Comment/TagWeights.pm index ba7bdfc5b..4919244ce 100644 --- a/Bugzilla/Comment/TagWeights.pm +++ b/Bugzilla/Comment/TagWeights.pm @@ -39,18 +39,7 @@ use constant VALIDATORS => { }; # There's no gain to caching these objects use constant USE_MEMCACHED => 0; -############################### -#### Accessors ###### -############################### - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - tag => __PACKAGE__->NAME_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - +sub tag { return $_[0]->{'tag'} } sub weight { return $_[0]->{'weight'} } sub set_weight { $_[0]->set('weight', $_[1]); } diff --git a/Bugzilla/Component.pm b/Bugzilla/Component.pm index 7e294ba74..78e144a55 100644 --- a/Bugzilla/Component.pm +++ b/Bugzilla/Component.pm @@ -447,13 +447,6 @@ sub is_active { return $_[0]->{'isactive'}; } sub triage_owner_id { return $_[0]->{'triage_owner_id'} } -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - ############################################## # Implement Bugzilla::Field::ChoiceInterface # ############################################## diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm index d18356d66..837e1c0de 100644 --- a/Bugzilla/Field.pm +++ b/Bugzilla/Field.pm @@ -432,17 +432,6 @@ sub _check_reverse_desc { sub _check_is_mandatory { return $_[1] ? 1 : 0; } -############################### -#### Accessors ###### -############################### - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - =pod =head2 Instance Properties diff --git a/Bugzilla/Field/Choice.pm b/Bugzilla/Field/Choice.pm index 9dd7b3ccf..10f8f38e6 100644 --- a/Bugzilla/Field/Choice.pm +++ b/Bugzilla/Field/Choice.pm @@ -119,16 +119,6 @@ sub new { $class->SUPER::new(@_); } -############################### -#### Accessors ###### -############################### - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; ######################### # Database Manipulation # ######################### diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm index 8ace32be6..625794974 100644 --- a/Bugzilla/Flag.pm +++ b/Bugzilla/Flag.pm @@ -104,12 +104,6 @@ use constant UPDATE_VALIDATORS => { #### Accessors ###### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - }, -}; - =head2 METHODS =over @@ -146,6 +140,7 @@ Returns the timestamp when the flag was last modified. =cut +sub id { return $_[0]->{'id'}; } sub name { return $_[0]->type->name; } sub type_id { return $_[0]->{'type_id'}; } sub bug_id { return $_[0]->{'bug_id'}; } diff --git a/Bugzilla/FlagType.pm b/Bugzilla/FlagType.pm index 6aaa79bd1..c973ea662 100644 --- a/Bugzilla/FlagType.pm +++ b/Bugzilla/FlagType.pm @@ -210,13 +210,6 @@ sub update { #### Accessors ###### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - =head2 METHODS =over @@ -269,6 +262,8 @@ Returns the sortkey of the flagtype. =cut +sub id { return $_[0]->{'id'}; } +sub name { return $_[0]->{'name'}; } sub description { return $_[0]->{'description'}; } sub cc_list { return $_[0]->{'cc_list'}; } sub target_type { return $_[0]->{'target_type'} eq 'b' ? 'bug' : 'attachment'; } diff --git a/Bugzilla/Group.pm b/Bugzilla/Group.pm index 6d47f1ee0..fe2a90c05 100644 --- a/Bugzilla/Group.pm +++ b/Bugzilla/Group.pm @@ -71,13 +71,6 @@ use constant GROUP_PARAMS => qw(chartgroup insidergroup timetrackinggroup #### Accessors ###### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub description { return $_[0]->{'description'}; } sub is_bug_group { return $_[0]->{'isbuggroup'}; } sub user_regexp { return $_[0]->{'userregexp'}; } diff --git a/Bugzilla/Keyword.pm b/Bugzilla/Keyword.pm index b078294d8..61038f602 100644 --- a/Bugzilla/Keyword.pm +++ b/Bugzilla/Keyword.pm @@ -47,13 +47,6 @@ use constant UPDATE_COLUMNS => qw( #### Accessors ###### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub description { return $_[0]->{'description'}; } sub bug_count { diff --git a/Bugzilla/Milestone.pm b/Bugzilla/Milestone.pm index 078074dc4..2f10e1f00 100644 --- a/Bugzilla/Milestone.pm +++ b/Bugzilla/Milestone.pm @@ -227,13 +227,7 @@ sub bug_count { ##### Accessors ###### ################################ -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - +sub name { return $_[0]->{'value'}; } sub product_id { return $_[0]->{'product_id'}; } sub sortkey { return $_[0]->{'sortkey'}; } sub is_active { return $_[0]->{'isactive'}; } diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm index 8660fa551..00afbe19f 100644 --- a/Bugzilla/Object.pm +++ b/Bugzilla/Object.pm @@ -445,6 +445,9 @@ sub _do_list_select { #### Accessors ###### ############################### +sub id { return $_[0]->{$_[0]->ID_FIELD}; } +sub name { return $_[0]->{$_[0]->NAME_FIELD}; } + ############################### #### Methods #### ############################### diff --git a/Bugzilla/Product.pm b/Bugzilla/Product.pm index 16b753fa8..3ac1692f0 100644 --- a/Bugzilla/Product.pm +++ b/Bugzilla/Product.pm @@ -831,13 +831,6 @@ sub classification { #### Accessors ###### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub allows_unconfirmed { return $_[0]->{'allows_unconfirmed'}; } sub description { return $_[0]->{'description'}; } sub is_active { return $_[0]->{'isactive'}; } diff --git a/Bugzilla/Search/Recent.pm b/Bugzilla/Search/Recent.pm index f99cda84f..a5d9e2417 100644 --- a/Bugzilla/Search/Recent.pm +++ b/Bugzilla/Search/Recent.pm @@ -27,8 +27,6 @@ use constant LIST_ORDER => 'id DESC'; use constant AUDIT_CREATES => 0; use constant AUDIT_UPDATES => 0; use constant AUDIT_REMOVES => 0; -use constant USER_ID_FIELD => 'user_id'; -use constant ID_FIELD => 'id'; use constant DB_COLUMNS => qw( id @@ -117,16 +115,9 @@ sub new_from_cookie { # Simple Accessors # #################### -use Class::XSAccessor { - accessors => { - user_id => __PACKAGE__->USER_ID_FIELD, - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub bug_list { return [split(',', $_[0]->{'bug_list'})]; } sub list_order { return $_[0]->{'list_order'}; } +sub user_id { return $_[0]->{'user_id'}; } ############ # Mutators # diff --git a/Bugzilla/Search/Saved.pm b/Bugzilla/Search/Saved.pm index d57dfa35b..1511cd87b 100644 --- a/Bugzilla/Search/Saved.pm +++ b/Bugzilla/Search/Saved.pm @@ -287,13 +287,6 @@ sub shared_with_users { # Simple Accessors # #################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub url { return $_[0]->{'query'}; } sub user { diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 3a0810b64..dc8f60565 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -86,16 +86,8 @@ sub DB_COLUMNS { use constant NAME_FIELD => 'login_name'; use constant ID_FIELD => 'userid'; -use constant REAL_NAME_FIELD => 'realname'; use constant LIST_ORDER => NAME_FIELD; -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->REAL_NAME_FIELD, - }, -}; - use constant VALIDATORS => { cryptpassword => \&_check_password, disable_mail => \&_check_disable_mail, @@ -648,6 +640,7 @@ sub update_last_seen_date { ################################################################################ # Accessors for user attributes +sub name { $_[0]->{realname}; } sub login { $_[0]->{login_name}; } sub extern_id { $_[0]->{extern_id}; } sub email { $_[0]->login . Bugzilla->params->{'emailsuffix'}; } diff --git a/Bugzilla/User/APIKey.pm b/Bugzilla/User/APIKey.pm index 62121382b..c1a4ed572 100644 --- a/Bugzilla/User/APIKey.pm +++ b/Bugzilla/User/APIKey.pm @@ -50,17 +50,7 @@ use constant { AUDIT_CREATES => 0, USE_MEMCACHED => 0 }; # Accessors -############################### -#### Accessors ###### -############################### - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - +sub id { return $_[0]->{id} } sub user_id { return $_[0]->{user_id} } sub api_key { return $_[0]->{api_key} } sub app_id { return $_[0]->{app_id} } diff --git a/Bugzilla/User/Session.pm b/Bugzilla/User/Session.pm index 299ed26f7..56e1cd07a 100644 --- a/Bugzilla/User/Session.pm +++ b/Bugzilla/User/Session.pm @@ -39,14 +39,7 @@ use constant { AUDIT_CREATES => 0, USE_MEMCACHED => 0 }; # Accessors - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - +sub id { return $_[0]->{id} } sub userid { return $_[0]->{userid} } sub cookie { return $_[0]->{cookie} } sub lastused { return $_[0]->{lastused} } diff --git a/Bugzilla/Version.pm b/Bugzilla/Version.pm index 4b509a60e..a078cb4fc 100644 --- a/Bugzilla/Version.pm +++ b/Bugzilla/Version.pm @@ -28,7 +28,6 @@ use constant DEFAULT_VERSION => 'unspecified'; use constant DB_TABLE => 'versions'; use constant NAME_FIELD => 'value'; - # This is "id" because it has to be filled in and id is probably the fastest. # We do a custom sort in new_from_list below. use constant LIST_ORDER => 'id'; @@ -148,13 +147,6 @@ sub remove_from_db { ##### Accessors #### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub product_id { return $_[0]->{'product_id'}; } sub is_active { return $_[0]->{'isactive'}; } diff --git a/Bugzilla/Whine.pm b/Bugzilla/Whine.pm index e00f9118b..c4301b4f6 100644 --- a/Bugzilla/Whine.pm +++ b/Bugzilla/Whine.pm @@ -39,14 +39,6 @@ use constant LIST_ORDER => 'id'; #################### # Simple Accessors # #################### - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub subject { return $_[0]->{'subject'}; } sub body { return $_[0]->{'body'}; } sub mail_if_no_bugs { return $_[0]->{'mailifnobugs'}; } diff --git a/Bugzilla/Whine/Query.pm b/Bugzilla/Whine/Query.pm index 885737114..6ea91cc51 100644 --- a/Bugzilla/Whine/Query.pm +++ b/Bugzilla/Whine/Query.pm @@ -33,22 +33,15 @@ use constant DB_COLUMNS => qw( use constant NAME_FIELD => 'id'; use constant LIST_ORDER => 'sortkey'; -use constant QUERY_NAME_FIELD => 'query_name'; #################### # Simple Accessors # #################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->QUERY_NAME_FIELD, - }, -}; - sub eventid { return $_[0]->{'eventid'}; } sub sortkey { return $_[0]->{'sortkey'}; } sub one_email_per_bug { return $_[0]->{'onemailperbug'}; } sub title { return $_[0]->{'title'}; } +sub name { return $_[0]->{'query_name'}; } 1; diff --git a/Bugzilla/Whine/Schedule.pm b/Bugzilla/Whine/Schedule.pm index 725920cd7..017b744e5 100644 --- a/Bugzilla/Whine/Schedule.pm +++ b/Bugzilla/Whine/Schedule.pm @@ -45,13 +45,6 @@ use constant LIST_ORDER => 'id'; #################### # Simple Accessors # #################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub eventid { return $_[0]->{'eventid'}; } sub run_day { return $_[0]->{'run_day'}; } sub run_time { return $_[0]->{'run_time'}; } diff --git a/extensions/BugmailFilter/lib/Filter.pm b/extensions/BugmailFilter/lib/Filter.pm index e7e339cd4..7f2f4cb87 100644 --- a/extensions/BugmailFilter/lib/Filter.pm +++ b/extensions/BugmailFilter/lib/Filter.pm @@ -54,12 +54,6 @@ use constant AUDIT_REMOVES => 0; use constant USE_MEMCACHED => 0; # getters -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; sub user { my ($self) = @_; diff --git a/extensions/MyDashboard/lib/BugInterest.pm b/extensions/MyDashboard/lib/BugInterest.pm index 2e8655261..cf33900c5 100644 --- a/extensions/MyDashboard/lib/BugInterest.pm +++ b/extensions/MyDashboard/lib/BugInterest.pm @@ -34,13 +34,7 @@ use constant { AUDIT_CREATES => 0, # Provide accessors for our columns ##################################################################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - +sub id { return $_[0]->{id} } sub bug_id { return $_[0]->{bug_id} } sub user_id { return $_[0]->{user_id} } sub modification_time { return $_[0]->{modification_time} } diff --git a/extensions/Push/lib/BacklogMessage.pm b/extensions/Push/lib/BacklogMessage.pm index 7c248a501..28b17bae3 100644 --- a/extensions/Push/lib/BacklogMessage.pm +++ b/extensions/Push/lib/BacklogMessage.pm @@ -79,13 +79,6 @@ sub create_from_message { # accessors # -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub message_id { return $_[0]->{'message_id'} } sub push_ts { return $_[0]->{'push_ts'}; } sub payload { return $_[0]->{'payload'}; } diff --git a/extensions/Push/lib/Backoff.pm b/extensions/Push/lib/Backoff.pm index d0de1310d..f0116a2a7 100644 --- a/extensions/Push/lib/Backoff.pm +++ b/extensions/Push/lib/Backoff.pm @@ -47,13 +47,6 @@ use constant LIST_ORDER => 'next_attempt_ts'; # accessors # -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub connector { return $_[0]->{'connector'}; } sub next_attempt_ts { return $_[0]->{'next_attempt_ts'}; } sub attempts { return $_[0]->{'attempts'}; } diff --git a/extensions/Push/lib/LogEntry.pm b/extensions/Push/lib/LogEntry.pm index 2d45b9ee1..f4e894b94 100644 --- a/extensions/Push/lib/LogEntry.pm +++ b/extensions/Push/lib/LogEntry.pm @@ -48,13 +48,6 @@ use constant LIST_ORDER => 'processed_ts DESC'; # accessors # -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub message_id { return $_[0]->{'message_id'}; } sub change_set { return $_[0]->{'change_set'}; } sub routing_key { return $_[0]->{'routing_key'}; } diff --git a/extensions/Push/lib/Message.pm b/extensions/Push/lib/Message.pm index d8a7f7a26..1beb18ef0 100644 --- a/extensions/Push/lib/Message.pm +++ b/extensions/Push/lib/Message.pm @@ -61,12 +61,6 @@ sub create_from_transient { # # accessors # -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; sub push_ts { return $_[0]->{'push_ts'}; } sub payload { return $_[0]->{'payload'}; } diff --git a/extensions/Push/lib/Option.pm b/extensions/Push/lib/Option.pm index c2e23d513..a08e4c11d 100644 --- a/extensions/Push/lib/Option.pm +++ b/extensions/Push/lib/Option.pm @@ -35,18 +35,13 @@ use constant VALIDATORS => { connector => \&_check_connector, }; use constant LIST_ORDER => 'connector'; -use constant NAME_FIELD => 'option_name'; + # # accessors # -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; sub connector { return $_[0]->{'connector'}; } +sub name { return $_[0]->{'option_name'}; } sub value { return $_[0]->{'option_value'}; } # diff --git a/extensions/Review/lib/FlagStateActivity.pm b/extensions/Review/lib/FlagStateActivity.pm index fcc799a79..35da42351 100644 --- a/extensions/Review/lib/FlagStateActivity.pm +++ b/extensions/Review/lib/FlagStateActivity.pm @@ -35,16 +35,6 @@ use constant DB_COLUMNS => qw( status ); -############################### -#### Accessors ###### -############################### - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; sub _check_param_required { my ($param) = @_; diff --git a/extensions/TrackingFlags/lib/Flag.pm b/extensions/TrackingFlags/lib/Flag.pm index f54e42a7a..82c0314e3 100644 --- a/extensions/TrackingFlags/lib/Flag.pm +++ b/extensions/TrackingFlags/lib/Flag.pm @@ -376,16 +376,8 @@ sub set_is_active { $_[0]->set('is_active', $_[1]); } #### Accessors #### ############################### -use constant ID_FIELD => 'field_id'; - -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub flag_id { return $_[0]->{'id'}; } +sub name { return $_[0]->{'name'}; } sub description { return $_[0]->{'description'}; } sub flag_type { return $_[0]->{'type'}; } sub sortkey { return $_[0]->{'sortkey'}; } @@ -468,6 +460,7 @@ sub activity_count { # Here we return 'field_id' instead of the real # id as we want other Bugzilla code to treat this # as a Bugzilla::Field object in certain places. +sub id { return $_[0]->{'field_id'}; } sub type { return FIELD_TYPE_EXTENSION; } sub legal_values { return $_[0]->values; } sub custom { return 1; } diff --git a/extensions/TrackingFlags/lib/Flag/Bug.pm b/extensions/TrackingFlags/lib/Flag/Bug.pm index 62f103ee5..7be661720 100644 --- a/extensions/TrackingFlags/lib/Flag/Bug.pm +++ b/extensions/TrackingFlags/lib/Flag/Bug.pm @@ -169,13 +169,6 @@ sub set_value { $_[0]->set('value', $_[1]); } #### Accessors #### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub tracking_flag_id { return $_[0]->{'tracking_flag_id'}; } sub bug_id { return $_[0]->{'bug_id'}; } sub value { return $_[0]->{'value'}; } diff --git a/extensions/TrackingFlags/lib/Flag/Value.pm b/extensions/TrackingFlags/lib/Flag/Value.pm index c1b3ef4f1..4f2aacc3a 100644 --- a/extensions/TrackingFlags/lib/Flag/Value.pm +++ b/extensions/TrackingFlags/lib/Flag/Value.pm @@ -35,7 +35,6 @@ use constant DB_COLUMNS => qw( ); use constant LIST_ORDER => 'sortkey'; -use constant NAME_FIELD => 'value'; use constant UPDATE_COLUMNS => qw( setter_group_id @@ -112,13 +111,6 @@ sub set_comment { $_[0]->set('comment', $_[1]); } #### Accessors #### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub tracking_flag_id { return $_[0]->{'tracking_flag_id'}; } sub setter_group_id { return $_[0]->{'setter_group_id'}; } sub value { return $_[0]->{'value'}; } @@ -148,6 +140,7 @@ sub setter_group { ## Compatibility with Bugzilla::Field ## ######################################## +sub name { return $_[0]->{'value'}; } sub is_visible_on_bug { return 1; } 1; diff --git a/extensions/TrackingFlags/lib/Flag/Visibility.pm b/extensions/TrackingFlags/lib/Flag/Visibility.pm index a16ddfe75..878c16f99 100644 --- a/extensions/TrackingFlags/lib/Flag/Visibility.pm +++ b/extensions/TrackingFlags/lib/Flag/Visibility.pm @@ -147,13 +147,6 @@ sub _check_component { #### Accessors #### ############################### -use Class::XSAccessor { - accessors => { - id => __PACKAGE__->ID_FIELD, - name => __PACKAGE__->NAME_FIELD, - }, -}; - sub tracking_flag_id { return $_[0]->{'tracking_flag_id'}; } sub product_id { return $_[0]->{'product_id'}; } sub component_id { return $_[0]->{'component_id'}; } diff --git a/t/bugzilla-objects-def.t b/t/bugzilla-objects-def.t deleted file mode 100644 index 6ba33f450..000000000 --- a/t/bugzilla-objects-def.t +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/perl -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This Source Code Form is "Incompatible With Secondary Licenses", as -# defined by the Mozilla Public License, v. 2.0. -use 5.10.1; -use strict; -use warnings; -use autodie; -use lib qw(. lib local/lib/perl5); -use constant HAVE_DATABASE => 0; - -use if HAVE_DATABASE, 'Bugzilla'; -BEGIN { - if (HAVE_DATABASE) { - Bugzilla->extensions - } -} -use Bugzilla::DB::Schema; -use Module::Runtime qw(require_module); -use Test::More; - -# These are all subclasses of Bugzilla::Object -my @packages = qw( - Bugzilla::Attachment - Bugzilla::Bug - Bugzilla::BugUrl - Bugzilla::BugUserLastVisit - Bugzilla::Classification - Bugzilla::Comment - Bugzilla::Comment::TagWeights - Bugzilla::Component - Bugzilla::Extension::BugmailFilter::Filter - Bugzilla::Extension::MyDashboard::BugInterest - Bugzilla::Extension::Push::BacklogMessage - Bugzilla::Extension::Push::Backoff - Bugzilla::Extension::Push::LogEntry - Bugzilla::Extension::Push::Message - Bugzilla::Extension::Push::Option - Bugzilla::Extension::Review::FlagStateActivity - Bugzilla::Extension::TrackingFlags::Flag - Bugzilla::Extension::TrackingFlags::Flag::Bug - Bugzilla::Extension::TrackingFlags::Flag::Value - Bugzilla::Extension::TrackingFlags::Flag::Visibility - Bugzilla::Field - Bugzilla::Field::Choice - Bugzilla::Flag - Bugzilla::FlagType - Bugzilla::Group - Bugzilla::Keyword - Bugzilla::Milestone - Bugzilla::Product - Bugzilla::Search::Recent - Bugzilla::Search::Saved - Bugzilla::User - Bugzilla::User::APIKey - Bugzilla::User::Session - Bugzilla::Version - Bugzilla::Whine - Bugzilla::Whine::Query - Bugzilla::Whine::Schedule -); - -# some of the subclasses have things to skip. -# 'name' means skip checking the name() method -# 'id' means skip checking the id() method -# 'db_name' means NAME_FIELD isn't a database field. -my %skip = ( - 'Bugzilla::Attachment' => { db_name => 1 }, - 'Bugzilla::Comment' => { db_name => 1 }, - 'Bugzilla::Extension::BugmailFilter::Filter' => { db_name => 1 }, - 'Bugzilla::Extension::Push::BacklogMessage' => { db_name => 1 }, - 'Bugzilla::Extension::Push::Backoff' => { db_name => 1 }, - 'Bugzilla::Extension::Push::Message' => { db_name => 1 }, - 'Bugzilla::Extension::Push::Option' => { name => 1 }, - 'Bugzilla::Extension::Review::FlagStateActivity' => { db_name => 1 }, - 'Bugzilla::Extension::TrackingFlags::Flag' => { id => 1 }, - 'Bugzilla::Extension::TrackingFlags::Flag::Bug' => { db_name => 1 }, - 'Bugzilla::Extension::TrackingFlags::Flag::Value' => { name => 1 }, - 'Bugzilla::Extension::TrackingFlags::Flag::Visibility' => { db_name => 1 }, - 'Bugzilla::Flag' => { name => 1, id => 1 }, - 'Bugzilla::Search::Recent' => { db_name => 1 }, - 'Bugzilla::User' => { name => 1 }, - 'Bugzilla::Whine' => { db_name => 1 }, - 'Bugzilla::Whine::Query' => { name => 1 }, -); - -# this is kind of evil, but I want a copy -# of the schema without accessing a real DB. -my $schema = Bugzilla::DB::Schema::ABSTRACT_SCHEMA; -if (HAVE_DATABASE) { - Bugzilla::Hook::process( 'db_schema_abstract_schema', { schema => $schema } ); -} - -foreach my $package (@packages) { - next if $package =~ /^Bugzilla::Extension::/ && !HAVE_DATABASE; - require_module($package); - isa_ok($package, 'Bugzilla::Object'); - can_ok($package, qw( id name ID_FIELD NAME_FIELD)); - my $fake = bless {}, $package; - my ($NAME_FIELD, $ID_FIELD); - unless ($skip{$package}{id}) { - $ID_FIELD = $package->ID_FIELD; - $fake->{ $package->ID_FIELD } = 42; - my $ok = eval { - is($fake->id, 42, "$package->id is ID_FIELD"); - 1; - }; - ok($ok, "$package->id is not a fatal error"); - } - unless ($skip{$package}{name}) { - $NAME_FIELD = $package->NAME_FIELD; - $fake->{ $package->NAME_FIELD } = 'camel'; - my $ok = eval { - is($fake->name, 'camel', "$package->name is NAME_FIELD"); - 1; - }; - ok($ok, "$package->name is not a fatal error"); - } - if ($package->can('DB_TABLE')) { - my $table = $package->DB_TABLE; - my $table_def = $schema->{$table}; - my %fields = @{ $table_def->{FIELDS} }; - ok($table_def, "$package has a table definition"); - if ($ID_FIELD and not $skip{$package}{db_id}) { - ok($fields{ $ID_FIELD }, "$package table $table has column named by $ID_FIELD"); - } - if ($NAME_FIELD and not $skip{$package}{db_name}) { - ok($fields{ $NAME_FIELD }, "$package table $table has column named $NAME_FIELD"); - } - } -} - -done_testing; -- cgit v1.2.3-24-g4f1b