pom update, fix dataset response parsing from dataverse api

This commit is contained in:
Aldo Mihasi 2023-02-08 13:03:27 +02:00
parent 640b96e43f
commit cf8f2852d5
2 changed files with 9 additions and 5 deletions

View File

@ -113,6 +113,7 @@
<artifact>*:*</artifact>
<excludes>
<exclude>module-info.class</exclude>
<exclude>javax/**/*</exclude>
</excludes>
</filter>
<!-- </filters>-->

View File

@ -102,11 +102,14 @@ public class DataverseDeposit implements RepositoryDeposit {
Map<String, Object> datasetJson = this.getDatasetIdentifier(dmpDepositModel.getPreviousDOI());
Identifier id = new Identifier();
id.setId(((Integer) datasetJson.get("id")).longValue());
JsonNode jsonNode = this.objectMapper.readTree(new JSONObject(datasetJson).toString());
List<JsonNode> files = jsonNode.findValues("dataFile");
for(JsonNode file: files){
int fileId = file.get("id").asInt();
this.deleteFile(fileId);
JsonNode jsonNode = objectMapper.convertValue(datasetJson, JsonNode.class);
JsonNode latestVersion = jsonNode.get("latestVersion");
JsonNode files = latestVersion.get("files");
if(files.isArray()){
for (JsonNode file : files) {
int fileId = file.get("dataFile").get("id").asInt();
this.deleteFile(fileId);
}
}
this.uploadFiles(dmpDepositModel, dmpDepositModel.getPreviousDOI());