Project

General

Profile

« Previous | Next » 

Revision 54575

changed to consider to mirror the change in zenodo community value: zenodo community instead of the openaire community associated to a result. The context of the zenodo community will be removed from those of the result if the zenodo community is not associated to any openaire community.

View differences:

modules/dnet-mapreduce-jobs/branches/master/src/main/java/eu/dnetlib/data/mapreduce/hbase/bulktag/ResultTagger.java
8 8
import eu.dnetlib.data.proto.FieldTypeProtos;
9 9
import eu.dnetlib.data.proto.OafProtos;
10 10
import eu.dnetlib.data.proto.ResultProtos;
11
import eu.dnetlib.data.proto.ResultProtos.Result.Context;
11 12
import org.apache.commons.lang3.StringUtils;
12 13
import org.apache.hadoop.mapreduce.Mapper;
13 14

  
......
25 26
    private final static String SCHEMA_ID = "dnet:provenanceActions";
26 27
    private final static String COUNTER_GROUP = "Bulk Tagging";
27 28

  
29
    private final static String ZENODO_COMMUNITY_INDICATOR = "https://zenodo.org/communities/";
30

  
28 31
    private String trust = "0.8";
29 32

  
30 33

  
......
66 69
                .collect(Collectors.toCollection(HashSet::new))
67 70
                .forEach(dsId -> communities.addAll(conf.getCommunityForDatasourceValue(dsId)));
68 71

  
69
        //TODO: add code for Zenodo Communities
72
        final ResultProtos.Result.Metadata.Builder mBuilder = builder.getEntityBuilder().getResultBuilder().getMetadataBuilder();
73
        mBuilder.getContextBuilderList().stream().filter(cBuilder -> cBuilder.getId().contains(ZENODO_COMMUNITY_INDICATOR))
74
                .collect(Collectors.toList())
75
                .forEach(c->communities.addAll(conf.getCommunityForZenodoCommunityValue(c.getId().substring(c.getId().lastIndexOf("/")+1).trim())));
70 76

  
77

  
78

  
79
        List<Context.Builder> clist = mBuilder.getContextBuilderList().stream()
80
                .filter(c -> (!c.getId().contains(ZENODO_COMMUNITY_INDICATOR))).collect(Collectors.toList());
81

  
82
        mBuilder.clearContext();
83
        clist.forEach(c->mBuilder.addContext(c));
84

  
85

  
86
        final Map<String, ResultProtos.Result.Context.Builder> cBuilders = Maps.newHashMap();
87

  
88

  
71 89
        if(communities.isEmpty()){
72 90
            context.getCounter(COUNTER_GROUP, "list of communities empty").increment(1);
73 91
        }else{
74 92
            context.getCounter(COUNTER_GROUP, "list of communities has values!").increment(1);
75 93
        }
76 94

  
77
        final ResultProtos.Result.Metadata.Builder mBuilder = builder.getEntityBuilder().getResultBuilder().getMetadataBuilder();
78

  
79
        final Map<String, ResultProtos.Result.Context.Builder> cBuilders = Maps.newHashMap();
80 95
        mBuilder.getContextBuilderList().forEach(cBuilder -> {
81 96
            cBuilders.put(cBuilder.getId(), cBuilder);
82 97
        });

Also available in: Unified diff