added filter

This commit is contained in:
Sandro La Bruzzo 2021-03-18 10:24:42 +01:00
parent 5f98ea74a9
commit 25d5663d97
2 changed files with 24 additions and 18 deletions

View File

@ -10,12 +10,12 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import eu.dnetlib.dhp.schema.common.ModelSupport;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.HashBiMap;
import com.google.common.collect.Maps;
import eu.dnetlib.dhp.schema.common.ModelSupport;
import eu.dnetlib.dhp.schema.oaf.*;
import eu.dnetlib.dhp.utils.DHPUtils;
@ -60,29 +60,33 @@ public class IdentifierFactory implements Serializable {
return pidFromInstance(pid, collectedFrom).distinct().collect(Collectors.toList());
}
public static <T extends Result> String createDOIBoostIdentifier(T entity) {
public static <T extends Result> String createDOIBoostIdentifier(T entity) {
if (entity == null)
return null;
return null;
StructuredProperty pid = null;
if(entity.getPid() != null ) {
pid = entity.getPid()
.stream()
.filter(Objects::nonNull)
.filter(s -> s.getQualifier()!= null && "doi".equalsIgnoreCase(s.getQualifier().getClassid()))
.filter(IdentifierFactory::pidFilter)
.findAny().orElse(null);
if (entity.getPid() != null) {
pid = entity
.getPid()
.stream()
.filter(Objects::nonNull)
.filter(s -> s.getQualifier() != null && "doi".equalsIgnoreCase(s.getQualifier().getClassid()))
.filter(IdentifierFactory::pidFilter)
.findAny()
.orElse(null);
} else {
if (entity.getInstance()!= null) {
pid = entity.getInstance()
.stream()
.filter(i -> i.getPid()!= null)
.flatMap(i -> i.getPid().stream())
.filter(IdentifierFactory::pidFilter)
.findAny().orElse(null);
if (entity.getInstance() != null) {
pid = entity
.getInstance()
.stream()
.filter(i -> i.getPid() != null)
.flatMap(i -> i.getPid().stream())
.filter(IdentifierFactory::pidFilter)
.findAny()
.orElse(null);
}
}
if (pid!= null)
if (pid != null)
return idFromPid(entity, pid, true);
return null;
}

View File

@ -196,6 +196,8 @@ object DoiBoostMappingUtil {
//Case empty publication
if (publication == null)
return false
if (publication.getId == null || publication.getId.isEmpty)
return false
//Case publication with no title
if (publication.getTitle == null || publication.getTitle.size == 0)