diff --git a/src/main/java/edu/harvard/iq/dataverse/api/Datasets.java b/src/main/java/edu/harvard/iq/dataverse/api/Datasets.java index 136b6dbb69b..7660d80aead 100644 --- a/src/main/java/edu/harvard/iq/dataverse/api/Datasets.java +++ b/src/main/java/edu/harvard/iq/dataverse/api/Datasets.java @@ -372,10 +372,17 @@ public Response destroyDataset(@Context ContainerRequestContext crc, @PathParam( fileService.finalizeFileDeletes(deleteStorageLocations); } - return ok("Dataset " + id + " destroyed"); + return ok(getDatasetDestroyedMessage(id, doomed)); }, u); } + static String getDatasetDestroyedMessage(String id, Dataset dataset) { + String datasetIdentifier = PERSISTENT_ID_KEY.equals(id) + ? dataset.getGlobalId().asString() + : id; + return "Dataset " + datasetIdentifier + " destroyed"; + } + @DELETE @AuthRequired @Path("{id}/versions/{versionId}") diff --git a/src/test/java/edu/harvard/iq/dataverse/api/DatasetsTest.java b/src/test/java/edu/harvard/iq/dataverse/api/DatasetsTest.java index 58aa366c9e5..39c5168fc0b 100644 --- a/src/test/java/edu/harvard/iq/dataverse/api/DatasetsTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/api/DatasetsTest.java @@ -1,5 +1,8 @@ package edu.harvard.iq.dataverse.api; +import edu.harvard.iq.dataverse.Dataset; +import edu.harvard.iq.dataverse.GlobalId; +import edu.harvard.iq.dataverse.pidproviders.doi.AbstractDOIProvider; import org.junit.jupiter.api.Test; import java.util.HashSet; import java.util.Set; @@ -55,4 +58,19 @@ public void testCleanup() { assertTrue(deleted.contains("1837fda17ce-d7b9987fc6e9_suffix")); assertTrue(deleted.contains("1837fda17ce-d7b9987fc6e9.aux")); } + + @Test + public void testGetDatasetDestroyedMessageWithId() { + assertEquals("Dataset 42 destroyed", Datasets.getDatasetDestroyedMessage("42", new Dataset())); + } + + @Test + public void testGetDatasetDestroyedMessageWithPersistentId() { + Dataset dataset = new Dataset(); + dataset.setGlobalId(new GlobalId(AbstractDOIProvider.DOI_PROTOCOL, "10.5072", "FK2/ABCDEF", "/", + AbstractDOIProvider.DOI_RESOLVER_URL, null)); + + assertEquals("Dataset doi:10.5072/FK2/ABCDEF destroyed", + Datasets.getDatasetDestroyedMessage(AbstractApiBean.PERSISTENT_ID_KEY, dataset)); + } }