Project

General

Profile

1
package eu.dnetlib.data.mapreduce.hbase.broker;
2

    
3
import eu.dnetlib.data.proto.FieldTypeProtos.KeyValue;
4
import eu.dnetlib.data.proto.OafProtos.Oaf;
5
import eu.dnetlib.data.proto.PersonProtos.Person;
6
import eu.dnetlib.data.proto.ResultProtos.Result;
7

    
8
/**
9
 * Created by claudio on 11/07/16.
10
 */
11
public class OpenAireEventPayloadFactory {
12

    
13
	public static OpenAireEventPayload fromOAF(final Oaf oaf) {
14

    
15
		final OpenAireEventPayload p = new OpenAireEventPayload(oaf.getEntity().getId());
16

    
17
		for(KeyValue kv : oaf.getEntity().getCollectedfromList()) {
18
			PayloadElement pe = new PayloadElement();
19

    
20
			pe.addAttribute("id", kv.getKey());
21
			pe.setValue(kv.getValue());
22

    
23
			p.addElement("collectedfrom", pe);
24
		}
25

    
26
		final Result r = oaf.getEntity().getResult();
27

    
28
		for(Person person : r.getAuthorList()) {
29
			PayloadElement pe = new PayloadElement();
30
			pe.setValue(person.getMetadata().getFullname().getValue());
31

    
32
			p.addElement("creator", pe);
33
		}
34

    
35
		return p;
36

    
37
	}
38

    
39
}
(10-10/11)