Skip to content

Commit 199057d

Browse files
authored
Merge pull request #12402 from won-seoop/8412-destroy-response-persistent-id
Fix destroy dataset response for persistent IDs
2 parents cc3c65e + 4a7173b commit 199057d

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

src/main/java/edu/harvard/iq/dataverse/api/Datasets.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@ public Response destroyDataset(@Context ContainerRequestContext crc, @PathParam(
372372
fileService.finalizeFileDeletes(deleteStorageLocations);
373373
}
374374

375-
return ok("Dataset " + id + " destroyed");
375+
return ok(getDatasetDestroyedMessage(id, doomed));
376376
}, u);
377377
}
378378

379+
static String getDatasetDestroyedMessage(String id, Dataset dataset) {
380+
String datasetIdentifier = PERSISTENT_ID_KEY.equals(id)
381+
? dataset.getGlobalId().asString()
382+
: id;
383+
return "Dataset " + datasetIdentifier + " destroyed";
384+
}
385+
379386
@DELETE
380387
@AuthRequired
381388
@Path("{id}/versions/{versionId}")

src/test/java/edu/harvard/iq/dataverse/api/DatasetsTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package edu.harvard.iq.dataverse.api;
22

3+
import edu.harvard.iq.dataverse.Dataset;
4+
import edu.harvard.iq.dataverse.GlobalId;
5+
import edu.harvard.iq.dataverse.pidproviders.doi.AbstractDOIProvider;
36
import org.junit.jupiter.api.Test;
47
import java.util.HashSet;
58
import java.util.Set;
@@ -55,4 +58,19 @@ public void testCleanup() {
5558
assertTrue(deleted.contains("1837fda17ce-d7b9987fc6e9_suffix"));
5659
assertTrue(deleted.contains("1837fda17ce-d7b9987fc6e9.aux"));
5760
}
61+
62+
@Test
63+
public void testGetDatasetDestroyedMessageWithId() {
64+
assertEquals("Dataset 42 destroyed", Datasets.getDatasetDestroyedMessage("42", new Dataset()));
65+
}
66+
67+
@Test
68+
public void testGetDatasetDestroyedMessageWithPersistentId() {
69+
Dataset dataset = new Dataset();
70+
dataset.setGlobalId(new GlobalId(AbstractDOIProvider.DOI_PROTOCOL, "10.5072", "FK2/ABCDEF", "/",
71+
AbstractDOIProvider.DOI_RESOLVER_URL, null));
72+
73+
assertEquals("Dataset doi:10.5072/FK2/ABCDEF destroyed",
74+
Datasets.getDatasetDestroyedMessage(AbstractApiBean.PERSISTENT_ID_KEY, dataset));
75+
}
5876
}

0 commit comments

Comments
 (0)