in mantis-control-plane/mantis-control-plane-server/src/main/java/io/mantisrx/master/jobcluster/job/MantisJobMetadataView.java [123:167]
private boolean workerFilter(IMantisWorkerMetadata mwmd, final List<Integer> workerIndexList,
final List<Integer> workerNumberList,
final List<WorkerState.MetaState> workerStateList) {
if(logger.isTraceEnabled()) { logger.trace("Enter MantisJobMetadataView:workerFilter worker {} indexList {} numberList {} stateList {}", mwmd, workerIndexList, workerNumberList, workerStateList);}
boolean match=false;
// no filter specified
if(workerIndexList.isEmpty() && workerNumberList.isEmpty() && workerStateList.isEmpty()) {
if(logger.isTraceEnabled()) { logger.trace("Exit workerFilter1 with true for worker {}", mwmd); }
return true;
}
for(Integer workerIndex : workerIndexList) {
if(workerIndex == mwmd.getWorkerIndex()) {
if(logger.isTraceEnabled()) { logger.trace("Exit workerFilter2 with true for worker {}", mwmd); }
match = true;
}
if(!match) {
if(logger.isTraceEnabled()) { logger.trace("Exit workerFilter3 with true for worker {}", mwmd); }
return false;
}
}
for(Integer workerNumber : workerNumberList) {
match = workerNumber == mwmd.getWorkerNumber();
if(!match) {
if(logger.isTraceEnabled()) { logger.trace("Exit workerFilter4 with false for worker {}", mwmd); }
return false;
}
}
for(WorkerState.MetaState state : workerStateList) {
match = false;
try {
match = WorkerState.toMetaState(mwmd.getState()).equals(state);
} catch (IllegalArgumentException e) {
}
}
if(!match) {
if(logger.isTraceEnabled()) { logger.trace("Exit workerFilter5 with false for worker {}", mwmd); }
return false;
}
if(logger.isTraceEnabled()) { logger.trace("Exit workerFilter6 with true for worker {}", mwmd); }
return true;
}