asset immutability

This commit is contained in:
Graham Knop 2010-04-18 18:50:56 -05:00
parent a1d8dbd67a
commit 0efa62a73c
68 changed files with 84 additions and 7 deletions

View file

@ -2844,4 +2844,5 @@ sub www_widgetView {
return $self->outputWidgetMarkup($width, $height, $templateId, $styleTemplateId); return $self->outputWidgetMarkup($width, $height, $templateId, $styleTemplateId);
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -2360,5 +2360,6 @@ equal and then choose by assetId.
=cut =cut
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -649,5 +649,5 @@ sub www_view {
return 'chunked'; return 'chunked';
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -1171,4 +1171,5 @@ sub setPrivileges {
} }
__PACKAGE__->meta->make_immutable;
1; # Who knew the truth would be so obvious? 1; # Who knew the truth would be so obvious?

View file

@ -585,4 +585,5 @@ sub www_showConfirmation {
); );
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -824,4 +824,5 @@ sub www_crop {
return $self->getAdminConsole->render($f->print.$image,$i18n->get("crop image")); return $self->getAdminConsole->render($f->print.$image,$i18n->get("crop image"));
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -252,5 +252,6 @@ sub www_view {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -270,5 +270,6 @@ sub www_edit {
} }
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -390,6 +390,7 @@ sub www_view {
return "redirect"; return "redirect";
} }
__PACKAGE__->meta->make_immutable;
1; 1;
#vim:ft=perl #vim:ft=perl

View file

@ -1090,6 +1090,8 @@ sub www_viewScreenshots {
return $self->processTemplate($var,$self->getParent->get("screenshotsTemplateId")); return $self->processTemplate($var,$self->getParent->get("screenshotsTemplateId"));
} }
__PACKAGE__->meta->make_immutable;
1; 1;
#vim:ft=perl #vim:ft=perl

View file

@ -1818,6 +1818,6 @@ sub www_view {
return $self->getThread->www_view($self); return $self->getThread->www_view($self);
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -1394,5 +1394,6 @@ sub www_view {
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -136,5 +136,6 @@ sub www_view {
return $i18n->get('self_referential'); return $i18n->get('self_referential');
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -676,6 +676,6 @@ sub www_edit {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -1288,5 +1288,6 @@ sub getShortcutsForAssetId {
return WebGUI::Asset->getRoot($session)->getLineage(['descendants'], $properties); return WebGUI::Asset->getRoot($session)->getLineage(['descendants'], $properties);
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -672,4 +672,5 @@ sub www_view {
return "chunked"; return "chunked";
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -622,5 +622,6 @@ sub www_renew {
return $self->www_view; return $self->www_view;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -187,4 +187,5 @@ sub www_donate {
return $self->www_view; return $self->www_view;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -519,4 +519,5 @@ sub www_edit {
return $self->processStyle('<h1>'.$i18n->get('ems badge').'</h1>'.$self->getEditForm->print); return $self->processStyle('<h1>'.$i18n->get('ems badge').'</h1>'.$self->getEditForm->print);
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -287,4 +287,5 @@ sub www_viewAll {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -591,4 +591,5 @@ sub www_viewAll {
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -281,4 +281,5 @@ sub www_viewAll {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -239,4 +239,5 @@ sub www_addToCart {
return $self->www_view; return $self->www_view;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -1879,5 +1879,6 @@ override www_view => sub {
super(); super();
}; };
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -1011,5 +1011,6 @@ sub www_redeemSubscriptionCode {
return $self->processStyle($self->processTemplate($var, $self->redeemSubscriptionCodeTemplateId)); return $self->processStyle($self->processTemplate($var, $self->redeemSubscriptionCodeTemplateId));
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -721,6 +721,7 @@ sub www_renew {
return $self->www_editRecord( { message => $i18n->get('renewal added to cart') . ' ^ViewCart;' } ); return $self->www_editRecord( { message => $i18n->get('renewal added to cart') . ' ^ViewCart;' } );
} ## end sub www_renew } ## end sub www_renew
__PACKAGE__->meta->make_immutable;
1; 1;
#vim:ft=perl #vim:ft=perl

View file

@ -288,6 +288,6 @@ sub www_view {
return $output; return $output;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -920,6 +920,7 @@ sub www_view {
} }
__PACKAGE__->meta->make_immutable;
1; 1;
#vim:ft=perl #vim:ft=perl

View file

@ -1174,5 +1174,6 @@ sub www_view {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -647,5 +647,5 @@ sub www_view {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -517,5 +517,6 @@ sub www_view {
return "chunked"; return "chunked";
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -438,5 +438,6 @@ override www_view => sub {
}; };
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -2200,5 +2200,6 @@ toUserTimeZone methods of WebGUI::DateTime for to make less confusion.
=cut =cut
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -217,5 +217,6 @@ sub view {
return $self->processTemplate($var, undef, $self->{_viewTemplate}); return $self->processTemplate($var, undef, $self->{_viewTemplate});
} }
__PACKAGE__->meta->make_immutable;
1; 1;
#vim:ft=perl #vim:ft=perl

View file

@ -1750,5 +1750,6 @@ sub www_viewRSS {
return $self->www_viewRss; return $self->www_viewRss;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -230,4 +230,5 @@ sub www_mySubscriptionsSave {
return $self->www_view; return $self->www_view;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -435,4 +435,5 @@ sub www_view {
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -2185,5 +2185,6 @@ sub www_process {
return ''; return '';
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -278,4 +278,5 @@ sub www_ajaxUpdateData {
return $data; return $data;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -2766,5 +2766,6 @@ sub www_viewSubmissionQueue {
$self->processTemplate( $params, $self->get('eventSubmissionMainTemplateId'))); $self->processTemplate( $params, $self->get('eventSubmissionMainTemplateId')));
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -296,5 +296,6 @@ override www_view => sub {
}; };
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -1552,4 +1552,5 @@ sub www_listFilesForUserRss {
return $self->processTemplate( $var, $self->templateIdListFilesForUserRss ); return $self->processTemplate( $var, $self->templateIdListFilesForUserRss );
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -1612,4 +1612,5 @@ sub www_viewRss {
return $self->processTemplate( $var, $self->getParent->templateIdViewAlbumRss ); return $self->processTemplate( $var, $self->getParent->templateIdViewAlbumRss );
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -508,4 +508,5 @@ sub www_view {
} }
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -566,5 +566,6 @@ order by department, lastName, firstName, InOutBoard_statusLog.dateStamp";
return $self->processStyle($self->processTemplate(\%var, $self->reportTemplateId)); return $self->processStyle($self->processTemplate(\%var, $self->reportTemplateId));
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -443,5 +443,6 @@ override www_view => sub {
return super(); return super();
}; };
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -631,6 +631,7 @@ sub www_ajaxSetPointLocation {
return JSON->new->encode( {message => $i18n->get("message set point location")} ); return JSON->new->encode( {message => $i18n->get("message set point location")} );
} }
__PACKAGE__->meta->make_immutable;
1; 1;
#vim:ft=perl #vim:ft=perl

View file

@ -1447,4 +1447,5 @@ sub www_setStickied {
return undef; return undef;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -172,6 +172,7 @@ override www_view => sub {
super(); super();
}; };
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -132,4 +132,5 @@ override www_view => sub {
super(); super();
}; };
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -557,5 +557,6 @@ override www_view => sub {
} }
}; };
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -557,5 +557,6 @@ sub www_vote {
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -1985,5 +1985,5 @@ sub www_viewProject {
return $self->processStyle($self->processTemplate($var,$self->projectDisplayTemplateId)); return $self->processStyle($self->processTemplate($var,$self->projectDisplayTemplateId));
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -869,5 +869,6 @@ override www_view => sub {
super(); super();
}; };
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -208,5 +208,6 @@ sub view {
return $self->processTemplate(\%var, undef, $self->{_viewTemplate}); return $self->processTemplate(\%var, undef, $self->{_viewTemplate});
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -419,4 +419,5 @@ sub www_importProducts {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -401,4 +401,5 @@ sub www_displayStock {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -602,5 +602,6 @@ sub www_add {
$todayFolder->www_add; $todayFolder->www_add;
} }
__PACKAGE__->meta->make_immutable;
1; 1;
#vim:ft=perl #vim:ft=perl

View file

@ -256,5 +256,6 @@ sub www_viewStory {
} }
__PACKAGE__->meta->make_immutable;
1; 1;
#vim:ft=perl #vim:ft=perl

View file

@ -3091,4 +3091,5 @@ END_SUMMARY
} }
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -416,5 +416,6 @@ sub www_viewRSS20 {
return $self->www_viewRss; return $self->www_viewRss;
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -3574,4 +3574,5 @@ sub www_viewThingDataViaAjax {
} }
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -883,4 +883,5 @@ sub _buildRow {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -618,4 +618,5 @@ sub view {
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -141,4 +141,5 @@ sub view {
return $self->processTemplate(\%var, undef, $self->{_viewTemplate}); return $self->processTemplate(\%var, undef, $self->{_viewTemplate});
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -751,4 +751,5 @@ sub www_search {
return $self->processStyle($self->processTemplate($var, $self->searchTemplateId)); return $self->processStyle($self->processTemplate($var, $self->searchTemplateId));
} }
__PACKAGE__->meta->make_immutable;
1; 1;

View file

@ -76,9 +76,17 @@ Returns an array of the names of all tables in every class used by this class.
=cut =cut
sub get_tables { sub get_tables {
my $self = shift;
if ($self->is_immutable) {
return @{ $self->{__immutable}{get_tables_methods} ||= [ $self->_get_tables ] };
}
goto &_get_tables;
}
sub _get_tables {
my $self = shift; my $self = shift;
my %seen = (); my %seen = ();
my @tables = my @tables =
grep { ! $seen{$_}++ } grep { ! $seen{$_}++ }
map { $_->tableName } map { $_->tableName }
$self->get_all_properties $self->get_all_properties

View file

@ -76,6 +76,14 @@ Returns an array of all attribute names across all meta classes.
=cut =cut
sub get_all_attributes_list { sub get_all_attributes_list {
my $self = shift;
if ($self->is_immutable) {
return @{ $self->{__immutable}{get_all_attributes_list} ||= [ $self->_get_all_attributes_list ] };
}
goto &_get_all_attributes_list;
}
sub _get_all_attributes_list {
my $self = shift; my $self = shift;
my @attributes = (); my @attributes = ();
CLASS: foreach my $meta ($self->get_all_class_metas) { CLASS: foreach my $meta ($self->get_all_class_metas) {