Project

General

Profile

« Previous | Next » 

Revision 58142

set UNKNOWN bestaccessright in case of empty accessright

View differences:

ProtoConverter.java
5 5
import eu.dnetlib.data.mapreduce.util.LicenseComparator;
6 6
import eu.dnetlib.data.proto.*;
7 7
import eu.dnetlib.dhp.schema.oaf.*;
8
import org.apache.commons.lang3.StringUtils;
8 9

  
9 10
import java.io.Serializable;
10 11
import java.util.List;
......
12 13

  
13 14
public class ProtoConverter implements Serializable {
14 15

  
16
    public static final String UNKNOWN = "UNKNOWN";
17
    public static final String NOT_AVAILABLE = "not available";
18
    public static final String DNET_ACCESS_MODES = "dnet:access_modes";
19

  
15 20
    public static Oaf convert(OafProtos.Oaf oaf) {
16 21
        try {
17 22
            switch (oaf.getKind()) {
......
391 396

  
392 397
    private static Qualifier getBestAccessRights(List<ResultProtos.Result.Instance> instanceList) {
393 398
        if (instanceList != null) {
394
            return mapQualifier(instanceList.stream()
399
            final Qualifier bestaccessright = mapQualifier(instanceList.stream()
395 400
                    .map(i -> i.getAccessright())
396 401
                    .sorted(new LicenseComparator())
397 402
                    .findFirst()
398 403
                    .get());
404

  
405
            if (StringUtils.isBlank(bestaccessright.getClassid())) {
406
                bestaccessright.setClassid(UNKNOWN);
407
            }
408
            if (StringUtils.isBlank(bestaccessright.getClassname())) {
409
                bestaccessright.setClassname(NOT_AVAILABLE);
410
            }
411
            if (StringUtils.isBlank(bestaccessright.getSchemeid())) {
412
                bestaccessright.setSchemeid(DNET_ACCESS_MODES);
413
            }
414
            if (StringUtils.isBlank(bestaccessright.getSchemename())) {
415
                bestaccessright.setSchemename(DNET_ACCESS_MODES);
416
            }
417

  
418
            return bestaccessright;
399 419
        }
400 420
        return null;
401 421
    }

Also available in: Unified diff