KON-206 Put-Service erstellt
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/controller/InternalPersonController.java b/src/main/java/org/eclipse/openk/contactbasedata/controller/InternalPersonController.java
index 890ffc4..59922dc 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/controller/InternalPersonController.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/controller/InternalPersonController.java
@@ -65,22 +65,21 @@
.toUri();
return ResponseEntity.created(location).body(savedInternalPersonDto);
}
-//
-// @PutMapping("/{contactUuid}")
-// @ApiOperation(value = "Ändern einer externen Person")
-// @ApiResponses(value = {
-// @ApiResponse(code = 200, message = "Externe Person wurde aktualisiert"),
-// @ApiResponse(code = 400, message = "Ungültige Eingabe"),
-// @ApiResponse(code = 404, message = "Nicht gefunden")})
-// public ResponseEntity updateExternalPerson(@PathVariable UUID contactUuid, @Validated @RequestBody ExternalPersonDto externalPersonDto) {
-//
-// if (!externalPersonDto.getContactId().equals(contactUuid)) {
-// // TODO: Msg extrahieren
-// throw new BadRequestException("Die Id des Pfades stimmt nicht mit der des Objekts überein");
-// }
-//
-// externalPersonService.updateExternalPerson(externalPersonDto);
-// return ResponseEntity.ok().build();
-// }
+
+ @PutMapping("/{contactUuid}")
+ @ApiOperation(value = "Ändern einer internen Person")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Interne Person wurde aktualisiert"),
+ @ApiResponse(code = 400, message = "Ungültige Eingabe"),
+ @ApiResponse(code = 404, message = "Nicht gefunden")})
+ public ResponseEntity updateInternalPerson(@PathVariable UUID contactUuid, @Validated @RequestBody InternalPersonDto internalPersonDto) {
+
+ if (!internalPersonDto.getContactId().equals(contactUuid)) {
+ throw new BadRequestException("invalid.uuid.path.object");
+ }
+
+ internalPersonService.updateInternalPerson(internalPersonDto);
+ return ResponseEntity.ok().build();
+ }
}
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/service/InternalPersonService.java b/src/main/java/org/eclipse/openk/contactbasedata/service/InternalPersonService.java
index 48e1acc..09a6760 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/service/InternalPersonService.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/service/InternalPersonService.java
@@ -69,35 +69,33 @@
// Then save dependent Model-Object
return internalPersonMapper.toInternalPersonDto(internalPersonRepository.save(internalPersonToSave));
}
-//
-// @Transactional
-// public ExternalPersonDto updateExternalPerson(ExternalPersonDto externalPersonDto){
-// TblExternalPerson externalPersonUpdated;
-//
-// //Externe Person holen
-// //TODO: Fehlermeldung mit message!
-// TblExternalPerson existingExternalPerson = externalPersonRepository
-// .findByTblContactUuid(externalPersonDto.getContactId())
-// .orElseThrow(() -> new NotFoundException("Der angegebene Kontakt existiert nicht"));
-//
-// existingExternalPerson.setLastName(externalPersonDto.getLastName());
-// existingExternalPerson.setFirstName(externalPersonDto.getFirstName());
-// existingExternalPerson.setTitle(externalPersonDto.getTitle());
-//
-// setFromExternalPersonDto( existingExternalPerson, externalPersonDto );
-// externalPersonUpdated = externalPersonRepository.save(existingExternalPerson);
-//
-// return externalPersonMapper.toExternalPersonDto(externalPersonUpdated);
-// }
-//
+
+ @Transactional
+ public InternalPersonDto updateInternalPerson(InternalPersonDto internalPersonDto){
+ TblInternalPerson internalPersonUpdated;
+
+ //Interne Person holen
+ TblInternalPerson existingInternalPerson = internalPersonRepository
+ .findByTblContactUuid(internalPersonDto.getContactId())
+ .orElseThrow(() -> new NotFoundException("contact.uuid.not.existing"));
+
+ existingInternalPerson.setLastName(internalPersonDto.getLastName());
+ existingInternalPerson.setFirstName(internalPersonDto.getFirstName());
+ existingInternalPerson.setTitle(internalPersonDto.getTitle());
+
+ setFromInternalPersonDto( existingInternalPerson, internalPersonDto );
+ internalPersonUpdated = internalPersonRepository.save(existingInternalPerson);
+
+ return internalPersonMapper.toInternalPersonDto(internalPersonUpdated);
+ }
+
private void setFromInternalPersonDto( TblInternalPerson destTblInternalPerson, InternalPersonDto sourceDto ) {
RefSalutation salutationUpdated = salutationRepository
.findByUuid(sourceDto.getSalutationId())
- .orElseThrow(() -> new NotFoundException("Anrede wurde nicht gefunden"));
- // TODO: Nachricht auslagern
+ .orElseThrow(() -> new NotFoundException("salutation.uuid.not.existing"));
RefPersonType personTypeUpdated = personTypeRepository
.findByUuid(sourceDto.getPersonTypeId())
- .orElseThrow(() -> new NotFoundException("Persontyp wurde nicht gefunden"));
+ .orElseThrow(() -> new NotFoundException("person.type.uuid.not.existing"));
destTblInternalPerson.setSalutation(salutationUpdated);
destTblInternalPerson.setRefPersonType(personTypeUpdated);