Changeset 22829
- Timestamp:
- 09/09/10 10:44:31 (17 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/mnw21/pathquery_refactor/intermine/perl/lib/InterMine/Model.pm
r22619 r22829 2 2 3 3 use Carp qw/confess/; 4 use vars qw{ $AUTOLOAD };5 4 use Scalar::Util qw(weaken); 6 5 … … 34 33 my $model = $self->{model}; 35 34 if ($args->{Name} eq "class") { 36 my @ extends = ();35 my @parents = (); 37 36 if (exists $args->{Attributes}{extends}) { 38 @extends = split /\s+/, $args->{Attributes}{extends}; 39 @extends = grep { $_ ne 'java.lang.Object' } @extends; 40 map { s/.*\.(.*)/$1/ } @extends; 37 @parents = split /\s+/, $args->{Attributes}{extends}; 38 @parents = grep { $_ ne 'java.lang.Object' } @parents; 39 # strip off any preceding class path (eg. "org.intermine.") 40 map { s/.*\.(.*)/$1/ } @parents; 41 41 } 42 42 $self->{current_class} = … … 44 44 model => $model, 45 45 name => $nameattr, 46 extends => [@extends]46 parents => [@parents] 47 47 ); 48 48 weaken($self->{current_class}->{model}); … … 258 258 } 259 259 260 my @extends = $cd->extends(); 261 262 for my $extendee_name (@extends) { 263 my $extendee = $self->get_classdescriptor_by_name($extendee_name); 264 265 push @fields, $self->_get_fields($extendee); 260 for my $parent ($cd->parental_class_descriptors) { 261 push @fields, $self->_get_fields($parent); 266 262 } 267 263 … … 278 274 279 275 =cut 276 280 277 sub get_classdescriptor_by_name { 281 278 my $self = shift; … … 294 291 } 295 292 296 my $class = $self->{class_hash}{$classname} || $self->{class_hash}{$self->{package_name} . $classname}; 293 my $class = 294 $self->{class_hash}{$classname} || 295 $self->{class_hash}{$self->{package_name} . $classname}; 297 296 confess "$classname not in the model" unless $class; 298 297 return $class; … … 350 349 351 350 =cut 351 352 352 sub package_name 353 353 { … … 364 364 365 365 =cut 366 366 367 sub model_name 367 368 {
Note: See TracChangeset
for help on using the changeset viewer.
