ng-tracker/src/main/java/ru/ulstu/name/BaseService.java
2020-03-28 11:20:29 +04:00

37 lines
1.1 KiB
Java

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<String> names) {
return Optional.ofNullable(names)
.orElse(new ArrayList<>())
.stream()
.findAny()
.orElse(null);
}
}