private ConstraintResult.SatisfiedState constraintsSatisfied(Job job, long now) { ConstraintResult.SatisfiedState satisfiedState = ConstraintResult.SatisfiedState.SATISFIED; ConstraintContext constraintContext = new ConstraintContext(job, now, store); for (Constraint constraint : job.getSchedule().getConstraints()) { if (!(constraint instanceof CheckableConstraint)) { // this shouldn't happen, since implementation of Constraint in ProgramSchedule // should implement CheckableConstraint throw new IllegalArgumentException("Implementation of Constraint in ProgramSchedule" + " must implement CheckableConstraint"); } CheckableConstraint abstractConstraint = (CheckableConstraint) constraint; ConstraintResult result = abstractConstraint.check(job.getSchedule(), constraintContext); if (result.getSatisfiedState() == ConstraintResult.NEVER_SATISFIED.getSatisfiedState()) { // if any of the constraints are NEVER_SATISFIED, return NEVER_SATISFIED return ConstraintResult.NEVER_SATISFIED.getSatisfiedState(); } if (result.getSatisfiedState() == ConstraintResult.SatisfiedState.NOT_SATISFIED) { satisfiedState = ConstraintResult.SatisfiedState.NOT_SATISFIED; } } return satisfiedState; }
private ConstraintResult.SatisfiedState constraintsSatisfied(Job job, long now) { ConstraintResult.SatisfiedState satisfiedState = ConstraintResult.SatisfiedState.SATISFIED; ConstraintContext constraintContext = new ConstraintContext(job, now, store); for (Constraint constraint : job.getSchedule().getConstraints()) { if (!(constraint instanceof CheckableConstraint)) { // this shouldn't happen, since implementation of Constraint in ProgramSchedule // should implement CheckableConstraint throw new IllegalArgumentException("Implementation of Constraint in ProgramSchedule" + " must implement CheckableConstraint"); } CheckableConstraint abstractConstraint = (CheckableConstraint) constraint; ConstraintResult result = abstractConstraint.check(job.getSchedule(), constraintContext); if (result.getSatisfiedState() == ConstraintResult.NEVER_SATISFIED.getSatisfiedState()) { // if any of the constraints are NEVER_SATISFIED, return NEVER_SATISFIED return ConstraintResult.NEVER_SATISFIED.getSatisfiedState(); } if (result.getSatisfiedState() == ConstraintResult.SatisfiedState.NOT_SATISFIED) { satisfiedState = ConstraintResult.SatisfiedState.NOT_SATISFIED; } } return satisfiedState; }