Project

General

Profile

« Previous | Next » 

Revision 50143

huge update: swagger documentation, alignment of methods with the service trunk

View differences:

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