cvsuser     06/02/09 09:57:15

  Modified:    App-WorkQueue/lib/App WorkQueue.pm
  Log:
  work with positive or negative constraint limits
  
  Revision  Changes    Path
  1.3       +11 -3     p5ee/App-WorkQueue/lib/App/WorkQueue.pm
  
  Index: WorkQueue.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-WorkQueue/lib/App/WorkQueue.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- WorkQueue.pm      7 Feb 2006 16:18:18 -0000       1.2
  +++ WorkQueue.pm      9 Feb 2006 17:57:15 -0000       1.3
  @@ -1285,8 +1285,11 @@
           # do nothing
       }
       else {
  +        my ($limit);
           foreach my $c (@$global_constraints) {
  -            if ($c->[$GCONSTR_COUNTS]{$c->[$GCONSTR_COUNT_ATTRIB]} >= 
$c->[$GCONSTR_LIMITS]{$c->[$GCONSTR_LIMIT_ATTRIB]}) {
  +            $limit = $c->[$GCONSTR_LIMITS]{$c->[$GCONSTR_LIMIT_ATTRIB]};
  +            $limit = -$limit if ($limit < 0);
  +            if ($c->[$GCONSTR_COUNTS]{$c->[$GCONSTR_COUNT_ATTRIB]} >= 
$limit) {
                   $complies = 0;
                   last;
               }
  @@ -1333,8 +1336,11 @@
           # do nothing
       }
       else {
  +        my ($limit);
           foreach my $c (@$global_constraints) {
  -            if ($c->[$GCONSTR_COUNTS]{$c->[$GCONSTR_COUNT_ATTRIB]} >= 
$c->[$GCONSTR_LIMITS]{$c->[$GCONSTR_LIMIT_ATTRIB]}) {
  +            $limit = $c->[$GCONSTR_LIMITS]{$c->[$GCONSTR_LIMIT_ATTRIB]};
  +            $limit = -$limit if ($limit < 0);
  +            if ($c->[$GCONSTR_COUNTS]{$c->[$GCONSTR_COUNT_ATTRIB]} >= 
$limit) {
                   $complies = 0;
                   last;
               }
  @@ -1355,6 +1361,7 @@
                   $limit = $c->[$CONSTR_LIMITS]{$key};
                   $limit = $c->[$CONSTR_LIMITS]{_DEFAULT} if (!defined $limit);
                   if (defined $limit) {
  +                    $limit = -$limit if ($limit < 0);
                       $count_incr = (defined $c->[$CONSTR_COUNT_IDX]) ? 
$entry->[$c->[$CONSTR_COUNT_IDX]] : 1;
                       if ($c->[$CONSTR_COUNTS]{$key} + $count_incr > $limit) {
                           $complies = 0;
  @@ -1380,6 +1387,7 @@
                   $limit = $c->[$CONSTR_LIMITS]{$key};
                   $limit = $c->[$CONSTR_LIMITS]{_DEFAULT} if (!defined $limit);
                   if (defined $limit) {
  +                    $limit = -$limit if ($limit < 0);
                       $count_incr = (defined $c->[$CONSTR_COUNT_ATTRIB]) ? 
$entry->{$c->[$CONSTR_COUNT_ATTRIB]} : 1;
                       if ($c->[$CONSTR_COUNTS]{$key} + $count_incr > $limit) {
                           $complies = 0;
  
  
  

Reply via email to