Revision 62848
Added by Alessia Bardi 11 months ago
ResultEntryToOaf.java | ||
---|---|---|
31 | 31 |
private static final Map<String, String> cached_contexts = new HashMap<>(); |
32 | 32 |
|
33 | 33 |
private static final String ZENODO_ID="opendoar____::2659"; |
34 |
private static final String DOI_PREFIX = "doi_________"; |
|
34 | 35 |
|
35 | 36 |
private OpenAIRESubmitterUtils utils; |
36 | 37 |
|
... | ... | |
63 | 64 |
if (StringUtils.isBlank(entry.getOpenaireId())) { |
64 | 65 |
if(entry.getCollectedFromId().equals(ZENODO_ID)){ |
65 | 66 |
String doi = entry.getPids().stream().filter(e -> e.getType().equalsIgnoreCase("doi")).findFirst().get().getValue(); |
66 |
entry.setOpenaireId(calculateOpenaireId(doi, collectedFromEntry));
|
|
67 |
entry.setOpenaireId(calculateOpenaireId(DOI_PREFIX, doi));
|
|
67 | 68 |
} |
68 | 69 |
else entry.setOpenaireId(calculateOpenaireId(entry.getOriginalId(), collectedFromEntry)); |
69 | 70 |
} |
... | ... | |
154 | 155 |
} |
155 | 156 |
return cached_contexts; |
156 | 157 |
} |
158 |
private static String calculateOpenaireId(final String prefix, final String id) { |
|
159 |
return prefix + "::" + Hashing.md5(id); |
|
160 |
} |
|
157 | 161 |
|
158 | 162 |
private static String calculateOpenaireId(final String originalId, final DatasourceEntry collectedFromEntry) { |
159 | 163 |
return collectedFromEntry.getPrefix() + "::" + Hashing.md5(originalId); |
Also available in: Unified diff
The prefix of Zenodo is not doi as previously assumed by the tests, hence version 4.0.0 did not introduce the fix I expected in the beta env. Now it should work