package ru.ulstu.name; import org.springframework.stereotype.Service; import org.springframework.validation.Errors; import java.util.ArrayList; import java.util.List; import java.util.Optional; @Service public abstract class BaseService { public BaseRepository baseRepository; protected void checkUniqueName(NameContainer nameContainer, Errors errors, Integer id, String errorMessage) { if (nameContainer.getName().equals(getUnique(baseRepository.findByNameAndNotId(nameContainer.getName(), id)))) { errors.rejectValue("title", "errorCode", errorMessage); } } protected String checkUniqueName(NameContainer nameContainer, Integer id) { String foundName = getUnique(baseRepository.findByNameAndNotId(nameContainer.getName(), id)); if (nameContainer.getName().equals(foundName)) { return foundName; } return null; } private String getUnique(List names) { return Optional.ofNullable(names) .orElse(new ArrayList<>()) .stream() .findAny() .orElse(null); } }