package org.ourgrid.system.condition; import java.util.Set; import org.ourgrid.broker.status.WorkerStatusInfo; import org.ourgrid.system.units.BrokerUnit; import org.ourgrid.system.units.WorkerUnit; import br.edu.ufcg.lsd.commune.identification.DeploymentID; public class BrokerUsingWorker implements Condition { private WorkerUnit workerUnit; private BrokerUnit borkerUnit; private final int jobID; public BrokerUsingWorker( int jobID, BrokerUnit brokerUnit, WorkerUnit workerUnit ) { this.jobID = jobID; this.borkerUnit = brokerUnit; this.workerUnit = workerUnit; } public String detailMessage() { // TODO Auto-generated method stub return null; } public boolean isConditionMet() throws Exception { Set<WorkerStatusInfo> workerEntries = this.borkerUnit.getWorkersByJob().get( this.jobID ); if ( workerEntries != null ) { DeploymentID id = null; for ( WorkerStatusInfo entry : workerEntries ) { id = new DeploymentID(entry.getWorkerID()); if ( this.workerUnit.isTheSameEntity(id.getServiceID())) { return true; } } } return false; } }