Skip to content

Commit c0e1008

Browse files
committed
Added: total count to file version differences API
1 parent 696e40a commit c0e1008

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1183,7 +1183,10 @@ public Response getFileVersionsList(@Context ContainerRequestContext crc,
11831183
if (fm == null) {
11841184
return notFound(BundleUtil.getStringFromBundle("files.api.fileNotFound"));
11851185
}
1186-
return ok(jsonFileVersionSummaries(execCommand(new GetFileVersionDifferencesCommand(req, fm, limit, offset))));
1186+
List<FileVersionDifference> versionDifferences = execCommand(new GetFileVersionDifferencesCommand(req, fm, limit, offset));
1187+
JsonArrayBuilder versionDifferencesArrayBuilder = jsonFileVersionSummaries(versionDifferences);
1188+
long datasetVersionTotalCount = execCommand(new GetDatasetVersionCountCommand(req, fm.getDatasetVersion().getDataset()));
1189+
return ok(versionDifferencesArrayBuilder, datasetVersionTotalCount);
11871190
} catch (WrappedResponse ex) {
11881191
return ex.getResponse();
11891192
}

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,6 +1472,8 @@ public void getFileVersionDifferences() {
14721472
getFileDataResponse.prettyPrint();
14731473
getFileDataResponse.then().assertThat()
14741474
.body("status", equalTo("OK"))
1475+
.body("totalCount", is(1))
1476+
.body("data.size()", is(1))
14751477
.body("data[0].datasetVersion", equalTo("DRAFT"))
14761478
.body("data[0].fileDifferenceSummary.file", equalTo("Added"))
14771479
.statusCode(OK.getStatusCode());
@@ -1492,6 +1494,8 @@ public void getFileVersionDifferences() {
14921494
getFileDataResponse.prettyPrint();
14931495
getFileDataResponse.then().assertThat()
14941496
.body("status", equalTo("OK"))
1497+
.body("totalCount", is(1))
1498+
.body("data.size()", is(1))
14951499
.body("data[0].datasetVersion", equalTo("1.0"))
14961500
.body("data[0].fileDifferenceSummary.file", equalTo("Added"))
14971501
.statusCode(OK.getStatusCode());
@@ -1506,6 +1510,8 @@ public void getFileVersionDifferences() {
15061510
getFileDataResponse.prettyPrint();
15071511
getFileDataResponse.then().assertThat()
15081512
.body("status", equalTo("OK"))
1513+
.body("totalCount", is(1))
1514+
.body("data.size()", is(1))
15091515
.body("data[0].datasetVersion", equalTo("1.0"))
15101516
.body("data[0].fileDifferenceSummary.file", equalTo("Added"))
15111517
.statusCode(OK.getStatusCode());
@@ -1520,7 +1526,10 @@ public void getFileVersionDifferences() {
15201526
getFileDataResponse.prettyPrint();
15211527
getFileDataResponse.then().assertThat()
15221528
.body("status", equalTo("OK"))
1529+
.body("totalCount", is(2))
1530+
.body("data.size()", is(2))
15231531
.body("data[0].datasetVersion", equalTo("DRAFT"))
1532+
.body("data[0].fileDifferenceSummary.file", equalTo(null))
15241533
.body("data[1].datasetVersion", equalTo("1.0"))
15251534
.body("data[1].fileDifferenceSummary.file", equalTo("Added"))
15261535
.statusCode(OK.getStatusCode());
@@ -1531,6 +1540,7 @@ public void getFileVersionDifferences() {
15311540
paginatedResponse.then().assertThat()
15321541
.statusCode(OK.getStatusCode())
15331542
.body("status", equalTo("OK"))
1543+
.body("totalCount", is(2))
15341544
.body("data.size()", is(1))
15351545
.body("data[0].datasetVersion", equalTo("DRAFT"));
15361546

@@ -1540,6 +1550,7 @@ public void getFileVersionDifferences() {
15401550
paginatedResponse.then().assertThat()
15411551
.statusCode(OK.getStatusCode())
15421552
.body("status", equalTo("OK"))
1553+
.body("totalCount", is(2))
15431554
.body("data.size()", is(1))
15441555
.body("data[0].datasetVersion", equalTo("1.0"));
15451556

@@ -1549,6 +1560,7 @@ public void getFileVersionDifferences() {
15491560
paginatedResponse.then().assertThat()
15501561
.statusCode(OK.getStatusCode())
15511562
.body("status", equalTo("OK"))
1563+
.body("totalCount", is(2))
15521564
.body("data.size()", is(0));
15531565

15541566
// Test pagination: limit=2, offset=0 (should get both items)
@@ -1557,6 +1569,7 @@ public void getFileVersionDifferences() {
15571569
paginatedResponse.then().assertThat()
15581570
.statusCode(OK.getStatusCode())
15591571
.body("status", equalTo("OK"))
1572+
.body("totalCount", is(2))
15601573
.body("data.size()", is(2))
15611574
.body("data[0].datasetVersion", equalTo("DRAFT"))
15621575
.body("data[1].datasetVersion", equalTo("1.0"));
@@ -1588,6 +1601,8 @@ public void getFileVersionDifferences() {
15881601
getFileDataResponse.prettyPrint();
15891602
getFileDataResponse.then().assertThat()
15901603
.body("status", equalTo("OK"))
1604+
.body("totalCount", is(2))
1605+
.body("data.size()", is(2))
15911606
.body("data[0].datasetVersion", equalTo("DRAFT"))
15921607
.body("data[0].fileDifferenceSummary.file", equalTo("Replaced"))
15931608
.body("data[0].datafileId", equalTo(Integer.parseInt(replacedDataFileId)))
@@ -1614,6 +1629,8 @@ public void getFileVersionDifferences() {
16141629
getFileDataResponse.prettyPrint();
16151630
getFileDataResponse.then().assertThat()
16161631
.body("status", equalTo("OK"))
1632+
.body("totalCount", is(2))
1633+
.body("data.size()", is(2))
16171634
.body("data[1].datasetVersion", equalTo("1.0"))
16181635
.body("data[1].fileDifferenceSummary.deaccessionedReason", equalTo("Test reason"))
16191636
.body("data[1].fileDifferenceSummary.file", equalTo("Added"))

0 commit comments

Comments
 (0)