37 lines
1.1 KiB
Java
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);
|
|
}
|
|
}
|