-
-sub constraints_tag_list
-{
- my($self, @constraints)=@_;
- my $lasttag=undef;
- my @tags=();
- my @tags_vals=();
- for my $constraint (@constraints)
- {
-# print ref($constraint), ": ", $constraint->{name}, "\n";
- if($self->is("tag", $constraint))
- {
- if(defined($lasttag))
- {
-# print "TAGVAL\n";
- push(@tags_vals, [$lasttag, $constraint->id()]) if defined($constraint->id());
- $lasttag=undef;
- }
- elsif($self->tag_has_values($constraint->id()))
- {
-# print "HASVALUES\n";
- $lasttag=$constraint->id() if defined($constraint->id());
- }
- else
- {
-# print "NOVALUES\n";
- push(@tags, $constraint->id()) if(defined($constraint->id()));
- }
- }
- }
- @tags=map{ "\"$_\""; } @tags;
- @tags_vals=map( { [ map({ "\"$_\""; } @$_ ) ] } @tags_vals);
- $lasttag="\"$lasttag\"" if defined($lasttag);
- return(\@tags, \@tags_vals, $lasttag);
-}
-