1 |
43394
|
claudio.at
|
package eu.dnetlib.data.mapreduce.hbase.broker.mapping;
|
2 |
43174
|
claudio.at
|
|
3 |
43443
|
claudio.at
|
import com.google.common.collect.Iterables;
|
4 |
48145
|
claudio.at
|
import eu.dnetlib.broker.objects.Instance;
|
5 |
43558
|
claudio.at
|
import eu.dnetlib.broker.objects.OpenAireEventPayload;
|
6 |
|
|
import eu.dnetlib.broker.objects.Provenance;
|
7 |
|
|
import eu.dnetlib.broker.objects.Publication;
|
8 |
43394
|
claudio.at
|
import eu.dnetlib.data.proto.OafProtos.OafEntity;
|
9 |
43174
|
claudio.at
|
import eu.dnetlib.data.proto.ResultProtos.Result;
|
10 |
|
|
|
11 |
48145
|
claudio.at
|
import static eu.dnetlib.data.mapreduce.util.OafHbaseUtils.*;
|
12 |
|
|
|
13 |
43174
|
claudio.at
|
/**
|
14 |
|
|
* Created by claudio on 11/07/16.
|
15 |
|
|
*/
|
16 |
43394
|
claudio.at
|
public class OpenAireEventPayloadFactory extends ProtoMapping {
|
17 |
43174
|
claudio.at
|
|
18 |
44085
|
michele.ar
|
public static OpenAireEventPayload fromOAF(final OafEntity oaf,
|
19 |
|
|
final OafEntity source,
|
20 |
44584
|
claudio.at
|
final float trust) {
|
21 |
43174
|
claudio.at
|
|
22 |
48145
|
claudio.at
|
return fromOAF(oaf, trust, new Provenance()
|
23 |
|
|
.setRepositoryName(getValue(source.getCollectedfromList()))
|
24 |
|
|
.setUrl(Iterables.getFirst(mapInstances(oaf.getResult().getInstanceList()), new Instance()).getUrl())
|
25 |
|
|
.setId(getValue(source.getOriginalIdList())));
|
26 |
|
|
}
|
27 |
|
|
|
28 |
|
|
public static OpenAireEventPayload fromOAF(final OafEntity oaf,
|
29 |
|
|
final float trust, final Provenance provenance) {
|
30 |
|
|
|
31 |
43394
|
claudio.at
|
final Result.Metadata m = oaf.getResult().getMetadata();
|
32 |
|
|
final Publication p = new Publication()
|
33 |
43443
|
claudio.at
|
.setOriginalId(getValue(oaf.getOriginalIdList()))
|
34 |
43558
|
claudio.at
|
.setTitles(listValues(m.getTitleList()))
|
35 |
|
|
.setAbstracts(listValues(m.getDescriptionList()))
|
36 |
43394
|
claudio.at
|
.setLanguage(getKey(m.getLanguage()))
|
37 |
43558
|
claudio.at
|
.setSubjects(listValues(m.getSubjectList()))
|
38 |
49356
|
claudio.at
|
.setCreators(listValues(oaf.getResult().getAuthorList()))
|
39 |
43394
|
claudio.at
|
.setPublicationdate(getValue(m.getDateofacceptance()))
|
40 |
|
|
.setPublisher(getValue(m.getPublisher()))
|
41 |
|
|
.setEmbargoenddate(getValue(m.getEmbargoenddate()))
|
42 |
43558
|
claudio.at
|
.setContributor(listValues(m.getContributorList()))
|
43 |
48145
|
claudio.at
|
.setJournal(mapJournal(m.getJournal()))
|
44 |
43558
|
claudio.at
|
.setCollectedFrom(listValues(oaf.getCollectedfromList()))
|
45 |
43394
|
claudio.at
|
.setPids(mapPids(oaf.getPidList()))
|
46 |
|
|
.setInstances(mapInstances(oaf.getResult().getInstanceList()))
|
47 |
44085
|
michele.ar
|
.setExternalReferences(mapExternalRefs(oaf.getResult().getExternalReferenceList()))
|
48 |
|
|
.setProjects(mapRelatedProjects(oaf));
|
49 |
43174
|
claudio.at
|
|
50 |
48145
|
claudio.at
|
return new OpenAireEventPayload()
|
51 |
|
|
.setPublication(p)
|
52 |
|
|
.setHighlight(new Publication())
|
53 |
|
|
.setProvenance(provenance)
|
54 |
|
|
.setTrust(trust);
|
55 |
43340
|
alessia.ba
|
}
|
56 |
|
|
|
57 |
43174
|
claudio.at
|
}
|