Project

General

Profile

« Previous | Next » 

Revision 62848

Added by Alessia Bardi 11 months ago

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

View differences:

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