Revision 58142
Added by Claudio Atzori about 4 years ago
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
set UNKNOWN bestaccessright in case of empty accessright