KON-28-Fix Save Problem
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/service/ExternalPersonService.java b/src/main/java/org/eclipse/openk/contactbasedata/service/ExternalPersonService.java
index 6ba6e67..b4e2ae8 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/service/ExternalPersonService.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/service/ExternalPersonService.java
@@ -5,8 +5,6 @@
import org.eclipse.openk.contactbasedata.exceptions.NotFoundException;
import org.eclipse.openk.contactbasedata.mapper.ContactMapper;
import org.eclipse.openk.contactbasedata.mapper.ExternalPersonMapper;
-import org.eclipse.openk.contactbasedata.model.RefPersonType;
-import org.eclipse.openk.contactbasedata.model.RefSalutation;
import org.eclipse.openk.contactbasedata.model.TblContact;
import org.eclipse.openk.contactbasedata.model.TblExternalPerson;
import org.eclipse.openk.contactbasedata.repository.ContactRepository;
@@ -68,7 +66,6 @@
contactRepository.save(externalPersonToSave.getContact());
setFromExternalPersonDto( externalPersonToSave, externalPersonDto );
- // Save Contact first
// Then save dependent Model-Object
return externalPersonMapper.toExternalPersonDto(externalPersonRepository.save(externalPersonToSave));
@@ -78,38 +75,39 @@
public ExternalPersonDto updateExternalPerson(ExternalPersonDto externalPersonDto){
TblExternalPerson externalPersonUpdated;
- //Externe Person holen
TblExternalPerson existingExternalPerson = externalPersonRepository
.findByTblContactUuid(externalPersonDto.getContactId())
.orElseThrow(() -> new NotFoundException("contact.uuid.not.existing"));
-// TblExternalPerson externalPersonToSave = externalPersonMapper.toTblExternalPerson(externalPersonDto);
-// externalPersonToSave.setId(existingExternalPerson.getId());
-
existingExternalPerson.setLastName(externalPersonDto.getLastName());
existingExternalPerson.setFirstName(externalPersonDto.getFirstName());
existingExternalPerson.setTitle(externalPersonDto.getTitle());
setFromExternalPersonDto( existingExternalPerson, externalPersonDto );
- //setFromExternalPersonDto( externalPersonToSave, externalPersonDto );
externalPersonUpdated = externalPersonRepository.save(existingExternalPerson);
- //externalPersonUpdated = externalPersonRepository.save(externalPersonToSave);
return externalPersonMapper.toExternalPersonDto(externalPersonUpdated);
}
private void setFromExternalPersonDto( TblExternalPerson destTblExternalPerson, ExternalPersonDto sourceDto ) {
- RefSalutation salutationUpdated = salutationRepository
- .findByUuid(sourceDto.getSalutationId())
- .orElseThrow(() -> new NotFoundException("salutation.uuid.not.existing"));
+ if( sourceDto.getSalutationId() != null ) {
+ destTblExternalPerson.setSalutation( salutationRepository
+ .findByUuid(sourceDto.getSalutationId())
+ .orElseThrow(() -> new NotFoundException("salutation.uuid.not.existing")));
+ }
+ else {
+ destTblExternalPerson.setSalutation(null);
+ }
- RefPersonType personTypeUpdated = personTypeRepository
- .findByUuid(sourceDto.getPersonTypeId())
- .orElseThrow(() -> new NotFoundException("person.type.uuid.not.existing"));
-
- destTblExternalPerson.setSalutation(salutationUpdated);
- destTblExternalPerson.setRefPersonType(personTypeUpdated);
+ if( sourceDto.getPersonTypeId() != null ) {
+ destTblExternalPerson.setRefPersonType( personTypeRepository
+ .findByUuid(sourceDto.getPersonTypeId())
+ .orElseThrow(() -> new NotFoundException("person.type.uuid.not.existing")));
+ }
+ else {
+ destTblExternalPerson.setRefPersonType(null);
+ }
destTblExternalPerson.getContact().setNote(sourceDto.getContactNote());
}