From 9706292135917655cae8ae1e9668b4ed2a4c864d Mon Sep 17 00:00:00 2001 From: Marcos Lopez Gonzalez Date: Tue, 1 Dec 2020 13:02:49 +0100 Subject: [PATCH] #255 #259 fix content type + check extra condition in merge --- .../registry/service/collections/merge/BaseMergeService.java | 3 +++ .../collections/ExtendedCollectionEntityResource.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/registry-service/src/main/java/org/gbif/registry/service/collections/merge/BaseMergeService.java b/registry-service/src/main/java/org/gbif/registry/service/collections/merge/BaseMergeService.java index 3d985e9d1d..2bea359399 100644 --- a/registry-service/src/main/java/org/gbif/registry/service/collections/merge/BaseMergeService.java +++ b/registry-service/src/main/java/org/gbif/registry/service/collections/merge/BaseMergeService.java @@ -78,6 +78,9 @@ protected BaseMergeService( @Transactional public void merge(UUID entityToReplaceKey, UUID replacementKey, String user) { checkArgument(user != null, "User is required"); + checkArgument( + !entityToReplaceKey.equals(replacementKey), + "The replacement has to be different than the entity to replace"); T entityToReplace = baseMapper.get(entityToReplaceKey); checkArgument( diff --git a/registry-ws/src/main/java/org/gbif/registry/ws/resources/collections/ExtendedCollectionEntityResource.java b/registry-ws/src/main/java/org/gbif/registry/ws/resources/collections/ExtendedCollectionEntityResource.java index 56fe69913e..faba7bade3 100644 --- a/registry-ws/src/main/java/org/gbif/registry/ws/resources/collections/ExtendedCollectionEntityResource.java +++ b/registry-ws/src/main/java/org/gbif/registry/ws/resources/collections/ExtendedCollectionEntityResource.java @@ -327,7 +327,7 @@ public void deleteOccurrenceMapping( entityKey, objectClass, OccurrenceMapping.class)); } - @PostMapping(value = "{key}/merge", consumes = MediaType.TEXT_PLAIN_VALUE) + @PostMapping(value = "{key}/merge") @Secured({GRSCICOLL_ADMIN_ROLE, GRSCICOLL_EDITOR_ROLE}) public void merge(@PathVariable("key") UUID entityKey, @RequestBody MergeParams params) { Authentication authentication = SecurityContextHolder.getContext().getAuthentication();