private static boolean isSamePosition(RunPosition pos1, RunPosition pos2) { String pos1Alias = pos1.getPosition() == null ? null : pos1.getPosition().getAlias(); String pos2Alias = pos2.getPosition() == null ? null : pos2.getPosition().getAlias(); if (pos1Alias == null && pos2Alias == null) { return true; } if (pos1Alias == null) { return false; } return pos1Alias.equals(pos2Alias); }
@Override public Set<InstrumentPosition> getOutOfServicePositions() { if (isOutOfService()) { return getInstrumentModel().getPositions(); } return getInstrumentModel().getPositions().stream() .filter(pos -> getServiceRecords().stream().anyMatch(sr -> sr.isOutOfService() && sr.getEndTime() == null && sr.getStartTime() != null && sr.getStartTime().before(new Date()) && sr.getPosition().getAlias().equals(pos.getAlias()))) .collect(Collectors.toSet()); }
from.getPositions().forEach((pos, run) -> { InstrumentPositionStatusDto posDto = new InstrumentPositionStatusDto(); posDto.setPosition(pos.getAlias()); posDto.setRun(run == null ? null : asDto(run)); posDto.setPools(run == null ? Collections.emptyList() ServiceRecord instrumentOutOfServiceRecord = from.getInstrument().getServiceRecords().stream() .filter(sr -> sr.isOutOfService() && sr.getStartTime() != null && sr.getEndTime() == null && (sr.getPosition() == null || sr.getPosition().getAlias().equals(pos.getAlias()))) .min(Comparator.comparing(ServiceRecord::getStartTime)) .orElse(null);
if (!isStringEmptyOrNull(positionName)) { position = target.getSequencer().getInstrumentModel().getPositions().stream() .filter(pos -> positionName.equals(pos.getAlias())) .findFirst().orElseThrow(() -> new IllegalArgumentException(String.format("Unknown position '%s' for platform '%s'", positionName, target.getSequencer().getInstrumentModel().getAlias())));