enrichment #9

Merged
claudio.atzori merged 4 commits from enrichment into master 2022-01-14 09:48:53 +01:00
1 changed files with 10 additions and 7 deletions
Showing only changes of commit 30665c840c - Show all commits

View File

@ -4,11 +4,10 @@ package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable; import java.io.Serializable;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
import eu.dnetlib.dhp.schema.common.AccessRightComparator; import eu.dnetlib.dhp.schema.common.AccessRightComparator;
import eu.dnetlib.dhp.schema.common.ModelConstants; import eu.dnetlib.dhp.schema.common.ModelConstants;
import org.apache.commons.lang3.EnumUtils; import eu.dnetlib.dhp.schema.oaf.utils.CleaningFunctions;
import scala.Tuple2; import scala.Tuple2;
/** /**
@ -544,8 +543,12 @@ public class Result extends OafEntity implements Serializable {
* @param pid the pid * @param pid the pid
* @return the string * @return the string
*/ */
private static String normalizePid(final StructuredProperty pid) { private static String extractKeyFromPid(final StructuredProperty pid) {
return String.format("%s::%s", pid.getQualifier().getClassid().toLowerCase(), pid.getValue().toLowerCase()); if (pid == null)
sandro.labruzzo marked this conversation as resolved Outdated

A very similar function already exists in this module:

https://code-repo.d4science.org/D-Net/dhp-schemas/src/branch/master/src/main/java/eu/dnetlib/dhp/schema/oaf/utils/CleaningFunctions.java#L50

Consider reusing it, or if its behaviour doesn't exactly match the you you need, consider to adjust it.

A very similar function already exists in this module: https://code-repo.d4science.org/D-Net/dhp-schemas/src/branch/master/src/main/java/eu/dnetlib/dhp/schema/oaf/utils/CleaningFunctions.java#L50 Consider reusing it, or if its behaviour doesn't exactly match the you you need, consider to adjust it.
return null;
final StructuredProperty normalizedPid = CleaningFunctions.normalizePidValue(pid);
return String.format("%s::%s", normalizedPid.getQualifier().getClassid(), normalizedPid.getValue());
} }
/** /**
@ -574,9 +577,9 @@ public class Result extends OafEntity implements Serializable {
.flatMap(i -> { .flatMap(i -> {
final List<Tuple2<String, Instance>> result = new ArrayList<>(); final List<Tuple2<String, Instance>> result = new ArrayList<>();
if (i.getPid() != null) if (i.getPid() != null)
i.getPid().stream().filter(Result::validPid).forEach(p -> result.add(new Tuple2<>(normalizePid(p), i))); i.getPid().stream().filter(Result::validPid).forEach(p -> result.add(new Tuple2<>(extractKeyFromPid(p), i)));
if (i.getAlternateIdentifier() != null) if (i.getAlternateIdentifier() != null)
i.getAlternateIdentifier().stream().filter(Result::validPid).forEach(p -> result.add(new Tuple2<>(normalizePid(p), i))); i.getAlternateIdentifier().stream().filter(Result::validPid).forEach(p -> result.add(new Tuple2<>(extractKeyFromPid(p), i)));
return result.stream(); return result.stream();
}).collect(Collectors.toMap( }).collect(Collectors.toMap(
Tuple2::_1, Tuple2::_1,
@ -598,7 +601,7 @@ public class Result extends OafEntity implements Serializable {
return null; return null;
return pids return pids
.stream() .stream()
.map(Result::normalizePid) .map(Result::extractKeyFromPid)
.map(enrichments::get) .map(enrichments::get)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());