package org.ourgrid.system.condition;
import org.ourgrid.system.units.PeerUnit;
public class PeerSetWorkersCondition implements Condition {
private final int expectedNumWorkers;
private final PeerUnit peerUnit;
private int actualNumWorkers;
public PeerSetWorkersCondition( PeerUnit peerUnit, int numberOfWorkers ) {
this.peerUnit = peerUnit;
this.expectedNumWorkers = numberOfWorkers;
this.actualNumWorkers = -1;
}
public boolean isConditionMet() throws Exception {
actualNumWorkers = this.peerUnit.getLocalWorkerStatus().size();
return actualNumWorkers == this.expectedNumWorkers;
}
public String detailMessage() {
return "Number of workers expected: " + expectedNumWorkers + ", actual: " + actualNumWorkers;
}
}