model.setTextContent(experiment.getInstrumentModel().getAlias()); type.appendChild(model); xml.appendChild(platform);
public static InstrumentModelDto asDto(@Nonnull InstrumentModel from) { InstrumentModelDto dto = new InstrumentModelDto(); dto.setId(from.getId()); dto.setPlatformType(from.getPlatformType().name()); dto.setDescription(from.getDescription()); dto.setAlias(from.getAlias()); dto.setNumContainers(from.getNumContainers()); dto.setInstrumentType(from.getInstrumentType().name()); if (from.getPositions() != null) { dto.setPositions(from.getPositions().stream().map(InstrumentPosition::getAlias).collect(Collectors.toList())); } return dto; }
.filter(pos -> positionName.equals(pos.getAlias())) .findFirst().orElseThrow(() -> new IllegalArgumentException(String.format("Unknown position '%s' for platform '%s'", positionName, target.getSequencer().getInstrumentModel().getAlias())));
private void validateChanges(Run before, Run changed) throws IOException { List<ValidationError> errors = new ArrayList<>(); if (!changed.getHealth().isDone()) { changed.setCompletionDate(null); } else if (changed.getCompletionDate() == null) { errors.add(new ValidationError("completionDate", "Completion date must be provided for finished run")); } if (before != null) { if (before.getCompletionDate() != null && changed.getCompletionDate() != null && !changed.getCompletionDate().equals(before.getCompletionDate()) && !authorizationManager.isAdminUser()) { errors.add(new ValidationError("completionDate", "Only admin may change completion date")); } if (before.getStartDate() != null && changed.getStartDate() != null && !changed.getStartDate().equals(before.getStartDate()) && !authorizationManager.isAdminUser()) { errors.add(new ValidationError("completionDate", "Only admin may change start date")); } } InstrumentModel platform = changed.getSequencer().getInstrumentModel(); for (RunPosition position : changed.getRunPositions()) { if (position.getPosition() != null && !platform.getPositions().contains(position.getPosition())) { errors.add(new ValidationError( String.format("Platform %s does not have a position %s", platform.getAlias(), position.getPosition()))); } } if (!errors.isEmpty()) { throw new ValidationException(errors); } }