Skip to content

Commit

Permalink
#10242 catch error for missing file
Browse files Browse the repository at this point in the history
  • Loading branch information
sekmiller committed Apr 12, 2024
1 parent 3ddb72d commit 7eb232e
Showing 1 changed file with 20 additions and 13 deletions.
33 changes: 20 additions & 13 deletions src/main/java/edu/harvard/iq/dataverse/api/Dataverses.java
Original file line number Diff line number Diff line change
Expand Up @@ -871,26 +871,31 @@ public Response getFeaturedDataverses(@Context ContainerRequestContext crc, @Pat
*/
public Response setFeaturedDataverses(@Context ContainerRequestContext crc, @PathParam("identifier") String dvIdtf, String dvAliases) {
List<Dataverse> dvsFromInput = new LinkedList<>();

for (JsonString dvAlias : Util.asJsonArray(dvAliases).getValuesAs(JsonString.class)) {

Dataverse dvToBeFeatured = dataverseService.findByAlias(dvAlias.getString());
if (dvToBeFeatured == null) {
return error(Response.Status.BAD_REQUEST, "Can't find dataverse collection with alias '" + dvAlias + "'");
}
dvsFromInput.add(dvToBeFeatured);
}


try {

for (JsonString dvAlias : Util.asJsonArray(dvAliases).getValuesAs(JsonString.class)) {
Dataverse dvToBeFeatured = dataverseService.findByAlias(dvAlias.getString());
if (dvToBeFeatured == null) {
return error(Response.Status.BAD_REQUEST, "Can't find dataverse collection with alias '" + dvAlias + "'");
}
dvsFromInput.add(dvToBeFeatured);
}

if (dvsFromInput.isEmpty()) {
return error(Response.Status.BAD_REQUEST, "Please provide a valid Json array of dataverse collection aliases to be featured.");
}

Dataverse dataverse = findDataverseOrDie(dvIdtf);
List<Dataverse> featuredSource = new ArrayList<>();
List<Dataverse> featuredTarget = new ArrayList<>();
featuredSource.addAll(dataverseService.findAllPublishedByOwnerId(dataverse.getId()));
featuredSource.addAll(linkingService.findLinkedDataverses(dataverse.getId()));
List<DataverseFeaturedDataverse> featuredList = featuredDataverseService.findByDataverseId(dataverse.getId());
if(featuredSource.isEmpty()){
return error(Response.Status.BAD_REQUEST, "There are no collections avaialble to be featured in Dataverse collection '" + dataverse.getDisplayName() + "'.");

if (featuredSource.isEmpty()) {
return error(Response.Status.BAD_REQUEST, "There are no collections avaialble to be featured in Dataverse collection '" + dataverse.getDisplayName() + "'.");
}

for (DataverseFeaturedDataverse dfd : featuredList) {
Expand All @@ -914,9 +919,11 @@ public Response setFeaturedDataverses(@Context ContainerRequestContext crc, @Pat
// by passing null for Facets and DataverseFieldTypeInputLevel, those are not changed
execCommand(new UpdateDataverseCommand(dataverse, null, featuredTarget, createDataverseRequest(getRequestUser(crc)), null));
return ok("Featured Dataverses of dataverse " + dvIdtf + " updated.");

} catch (WrappedResponse ex) {
return ex.getResponse();
} catch (JsonParsingException jpe){
return error(Response.Status.BAD_REQUEST, "Please provide a valid Json array of dataverse collection aliases to be featured.");
}

}
Expand Down

0 comments on commit 7eb232e

Please sign in to comment.