private boolean workerFilter()

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;
    }