package org.ourgrid.system.condition; import org.ourgrid.common.interfaces.to.WorkerStatus; import org.ourgrid.system.units.WorkerUnit; public class AtLeastOneWorkerInAStatusCondition implements Condition { private final WorkerStatus expectedStatus; private final WorkerUnit[] workerUnits; public AtLeastOneWorkerInAStatusCondition(WorkerStatus state, WorkerUnit... workerunits){ this.expectedStatus = state; this.workerUnits = workerunits; } public String detailMessage() { return "No worker is in the " + expectedStatus + " state"; } public boolean isConditionMet() throws Exception { for ( WorkerUnit unit : this.workerUnits ) { WorkerStatus workerUnitStatus = unit.getStatus().getStatus(); if ( workerUnitStatus == this.expectedStatus ) { return true; } } return false; } }