CrossRefImport: ignore empty responses rather than generating empty phantom ImportRecords

Fixes https://github.com/DSpace/DSpace/issues/9202 .
This commit is contained in:
Philipp Rumpf
2023-11-14 09:38:35 +00:00
parent 500fbe70a3
commit 9f3f5175a3

View File

@@ -162,7 +162,9 @@ public class CrossRefImportMetadataSourceServiceImpl extends AbstractImportMetad
Iterator<JsonNode> nodes = jsonNode.at("/message/items").iterator();
while (nodes.hasNext()) {
JsonNode node = nodes.next();
results.add(transformSourceRecords(node.toString()));
if (!node.isMissingNode()) {
results.add(transformSourceRecords(node.toString()));
}
}
return results;
}
@@ -196,7 +198,9 @@ public class CrossRefImportMetadataSourceServiceImpl extends AbstractImportMetad
String responseString = liveImportClient.executeHttpGetRequest(1000, uriBuilder.toString(), params);
JsonNode jsonNode = convertStringJsonToJsonNode(responseString);
JsonNode messageNode = jsonNode.at("/message");
results.add(transformSourceRecords(messageNode.toString()));
if (!messageNode.isMissingNode()) {
results.add(transformSourceRecords(messageNode.toString()));
}
return results;
}
}
@@ -250,7 +254,9 @@ public class CrossRefImportMetadataSourceServiceImpl extends AbstractImportMetad
Iterator<JsonNode> nodes = jsonNode.at("/message/items").iterator();
while (nodes.hasNext()) {
JsonNode node = nodes.next();
results.add(transformSourceRecords(node.toString()));
if (!node.isMissingNode()) {
results.add(transformSourceRecords(node.toString()));
}
}
return results;
}
@@ -333,4 +339,4 @@ public class CrossRefImportMetadataSourceServiceImpl extends AbstractImportMetad
this.url = url;
}
}
}