dnet-hadoop/dhp-pace-core/src/main/java/eu/dnetlib/pace/tree/RomansMatch.java

37 lines
804 B
Java
Raw Normal View History

2023-06-26 13:58:11 +02:00
package eu.dnetlib.pace.tree;
2023-06-26 13:58:11 +02:00
import java.util.Map;
import eu.dnetlib.pace.config.Config;
import eu.dnetlib.pace.tree.support.AbstractComparator;
import eu.dnetlib.pace.tree.support.AbstractStringComparator;
import eu.dnetlib.pace.tree.support.ComparatorClass;
@ComparatorClass("romansMatch")
public class RomansMatch extends AbstractStringComparator {
2023-06-26 13:58:11 +02:00
public RomansMatch(Map<String, String> params) {
super(params);
}
2023-06-26 13:58:11 +02:00
@Override
public double distance(String a, String b, Config conf) {
2023-06-26 13:58:11 +02:00
// extracts romans from the field
String romans1 = getRomans(nfd(a));
String romans2 = getRomans(nfd(b));
2023-06-26 13:58:11 +02:00
if (romans1.isEmpty() && romans2.isEmpty())
return 1.0;
2023-06-26 13:58:11 +02:00
if (romans1.isEmpty() || romans2.isEmpty())
return -1.0;
2023-06-26 13:58:11 +02:00
if (romans1.equals(romans2))
return 1.0;
2023-06-26 13:58:11 +02:00
return 0.0;
}
}