fix(service): add @Nullable to findOrCreateByAlias and filter nulls in caller
Add @Nullable annotation to findOrCreateByAlias() return type. Filter null results (from SKIP classification) in MassImportService receiver list to prevent null elements in the receivers collection. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@ package org.raddatz.familienarchiv.service;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
|
import java.util.Objects;
|
||||||
import org.raddatz.familienarchiv.exception.DomainException;
|
import org.raddatz.familienarchiv.exception.DomainException;
|
||||||
import org.raddatz.familienarchiv.exception.ErrorCode;
|
import org.raddatz.familienarchiv.exception.ErrorCode;
|
||||||
import org.raddatz.familienarchiv.model.Document;
|
import org.raddatz.familienarchiv.model.Document;
|
||||||
@@ -301,6 +302,7 @@ public class MassImportService {
|
|||||||
Person sender = senderRaw.isBlank() ? null : findOrCreatePerson(senderRaw);
|
Person sender = senderRaw.isBlank() ? null : findOrCreatePerson(senderRaw);
|
||||||
List<Person> receivers = PersonNameParser.parseReceivers(receiversRaw).stream()
|
List<Person> receivers = PersonNameParser.parseReceivers(receiversRaw).stream()
|
||||||
.map(this::findOrCreatePerson)
|
.map(this::findOrCreatePerson)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
Tag tag = null;
|
Tag tag = null;
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
package org.raddatz.familienarchiv.service;
|
package org.raddatz.familienarchiv.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.springframework.lang.Nullable;
|
||||||
|
|
||||||
import org.raddatz.familienarchiv.dto.PersonNameAliasDTO;
|
import org.raddatz.familienarchiv.dto.PersonNameAliasDTO;
|
||||||
import org.raddatz.familienarchiv.dto.PersonSummaryDTO;
|
import org.raddatz.familienarchiv.dto.PersonSummaryDTO;
|
||||||
import org.raddatz.familienarchiv.dto.PersonUpdateDTO;
|
import org.raddatz.familienarchiv.dto.PersonUpdateDTO;
|
||||||
@@ -59,6 +62,7 @@ public class PersonService {
|
|||||||
return personRepository.findByFirstNameIgnoreCaseAndLastNameIgnoreCase(firstName, lastName);
|
return personRepository.findByFirstNameIgnoreCaseAndLastNameIgnoreCase(firstName, lastName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
@Transactional
|
@Transactional
|
||||||
public Person findOrCreateByAlias(String rawName) {
|
public Person findOrCreateByAlias(String rawName) {
|
||||||
String alias = rawName.trim();
|
String alias = rawName.trim();
|
||||||
|
|||||||
Reference in New Issue
Block a user