Skip to content

Commit 8592e63

Browse files
authored
Merge pull request #11728 from IQSS/11724-extend-list-dataverse-collection-links
extend list dataverse collection links api
2 parents 353ca92 + 688e451 commit 8592e63

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The [API for listing the collections a dataverse has been linked to](https://guides.dataverse.org/en/latest/admin/dataverses-datasets.html#list-dataverse-collection-links) (`api/dataverses/$dataverse-alias/links`) has been refactored to return a new Json format. This is a breaking API.

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1692,13 +1692,21 @@ public Response listLinks(@Context ContainerRequestContext crc, @PathParam("iden
16921692
List<Dataverse> dvsThisDvHasLinkedToList = dataverseSvc.findDataversesThisIdHasLinkedTo(dv.getId());
16931693
JsonArrayBuilder dvsThisDvHasLinkedToBuilder = Json.createArrayBuilder();
16941694
for (Dataverse dataverse : dvsThisDvHasLinkedToList) {
1695-
dvsThisDvHasLinkedToBuilder.add(dataverse.getAlias());
1695+
JsonObjectBuilder job = Json.createObjectBuilder();
1696+
job.add("id", dataverse.getId());
1697+
job.add("alias", dataverse.getAlias());
1698+
job.add("displayName", dataverse.getDisplayName());
1699+
dvsThisDvHasLinkedToBuilder.add(job);
16961700
}
16971701

16981702
List<Dataverse> dvsThatLinkToThisDvList = dataverseSvc.findDataversesThatLinkToThisDvId(dv.getId());
16991703
JsonArrayBuilder dvsThatLinkToThisDvBuilder = Json.createArrayBuilder();
17001704
for (Dataverse dataverse : dvsThatLinkToThisDvList) {
1701-
dvsThatLinkToThisDvBuilder.add(dataverse.getAlias());
1705+
JsonObjectBuilder job = Json.createObjectBuilder();
1706+
job.add("id", dataverse.getId());
1707+
job.add("alias", dataverse.getAlias());
1708+
job.add("displayName", dataverse.getDisplayName());
1709+
dvsThatLinkToThisDvBuilder.add(job);
17021710
}
17031711

17041712
List<Dataset> datasetsThisDvHasLinkedToList = dataverseSvc.findDatasetsThisIdHasLinkedTo(dv.getId());

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ public void testCreateDeleteDataverseLink() {
121121
Response createDataverseResponse2 = UtilIT.createRandomDataverse(apiToken);
122122
createDataverseResponse2.prettyPrint();
123123
String dataverseAlias2 = UtilIT.getAliasFromResponse(createDataverseResponse2);
124+
Integer dataverseId2 = UtilIT.getDataverseIdFromResponse(createDataverseResponse2);
124125

125126
Response createLinkingDataverseResponse = UtilIT.createDataverseLink(dataverseAlias, dataverseAlias2, apiToken);
126127
createLinkingDataverseResponse.prettyPrint();
@@ -138,12 +139,16 @@ public void testCreateDeleteDataverseLink() {
138139
getLinksResponse.prettyPrint();
139140
getLinksResponse.then().assertThat()
140141
.statusCode(OK.getStatusCode())
141-
.body("data.dataversesLinkingToThis[0]", equalTo(dataverseAlias2));
142+
.body("data.dataversesLinkingToThis[0].id", equalTo(dataverseId2))
143+
.body("data.dataversesLinkingToThis[0].alias", equalTo(dataverseAlias2))
144+
.body("data.dataversesLinkingToThis[0].displayName", equalTo(dataverseAlias2));
142145
getLinksResponse = UtilIT.getDataverseLinks(dataverseAlias2, apiToken);
143146
getLinksResponse.prettyPrint();
144147
getLinksResponse.then().assertThat()
145148
.statusCode(OK.getStatusCode())
146-
.body("data.linkedDataverses[0]", equalTo(dataverseAlias));
149+
.body("data.linkedDataverses[0].id", equalTo(dataverseId))
150+
.body("data.linkedDataverses[0].alias", equalTo(dataverseAlias))
151+
.body("data.linkedDataverses[0].displayName", equalTo(dataverseAlias));
147152

148153
Response deleteLinkingDataverseResponse = UtilIT.deleteDataverseLink(dataverseAlias, dataverseAlias2, apiToken);
149154
deleteLinkingDataverseResponse.prettyPrint();

0 commit comments

Comments
 (0)