Revision 50143
Added by Claudio Atzori over 6 years ago
ConversionUtils.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.openaire.exporter.model; |
2 | 2 |
|
3 | 3 |
import com.fasterxml.jackson.databind.ObjectMapper; |
4 |
import eu.dnetlib.data.transform.xml.AbstractDNetXsltFunctions; |
|
4 | 5 |
import eu.dnetlib.openaire.exporter.model.datasource.ApiDetails; |
5 | 6 |
import eu.dnetlib.openaire.exporter.model.datasource.DatasourceDetails; |
6 | 7 |
import eu.dnetlib.openaire.exporter.model.datasource.db.ApiDbEntry; |
7 | 8 |
import eu.dnetlib.openaire.exporter.model.datasource.db.DatasourceDbEntry; |
9 |
import org.apache.commons.lang3.StringUtils; |
|
8 | 10 |
|
9 | 11 |
public class ConversionUtils { |
10 | 12 |
|
13 |
public static final String ID_SEPARATOR = "::"; |
|
14 |
|
|
11 | 15 |
public static DatasourceDetails asDetails(final DatasourceDbEntry d) { |
12 | 16 |
//TODO replace with direct object mapping to get better performances |
13 | 17 |
final ObjectMapper mapper = new ObjectMapper(); |
14 |
return mapper.convertValue(d, DatasourceDetails.class); |
|
18 |
final DatasourceDetails details = mapper.convertValue(d, DatasourceDetails.class); |
|
19 |
return details.setOpenaireId(asOpenaireId(details.getId())); |
|
15 | 20 |
} |
16 | 21 |
|
17 | 22 |
public static ApiDetails asDetails(final ApiDbEntry d) { |
... | ... | |
26 | 31 |
return mapper.convertValue(d, DatasourceDbEntry.class); |
27 | 32 |
} |
28 | 33 |
|
34 |
// HELPERS |
|
35 |
|
|
36 |
private static String asOpenaireId(final String id) { |
|
37 |
final String prefix = StringUtils.substringBefore(id, ID_SEPARATOR); |
|
38 |
final String md5 = StringUtils.substringAfter(id, ID_SEPARATOR); |
|
39 |
|
|
40 |
return prefix + ID_SEPARATOR + AbstractDNetXsltFunctions.md5(md5); |
|
41 |
} |
|
42 |
|
|
29 | 43 |
} |
Also available in: Unified diff
huge update: swagger documentation, alignment of methods with the service trunk