2019-08-09 15:41:49 +02:00
|
|
|
package eu.dnetlib.pace.tree;
|
|
|
|
|
2019-10-29 16:38:42 +01:00
|
|
|
import eu.dnetlib.pace.config.Config;
|
2019-08-09 15:41:49 +02:00
|
|
|
import eu.dnetlib.pace.model.Field;
|
|
|
|
import eu.dnetlib.pace.tree.support.AbstractComparator;
|
|
|
|
import eu.dnetlib.pace.tree.support.ComparatorClass;
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
@ComparatorClass("exactMatchIgnoreCase")
|
|
|
|
public class ExactMatchIgnoreCase extends AbstractComparator {
|
|
|
|
|
2019-11-21 09:37:56 +01:00
|
|
|
public ExactMatchIgnoreCase(Map<String, String> params) {
|
2019-08-09 15:41:49 +02:00
|
|
|
super(params);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2019-10-29 16:38:42 +01:00
|
|
|
public double compare(Field a, Field b, final Config conf) {
|
2019-08-09 15:41:49 +02:00
|
|
|
|
|
|
|
final String fa = getValue(a);
|
|
|
|
final String fb = getValue(b);
|
|
|
|
|
|
|
|
if (fa.isEmpty() || fb.isEmpty())
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
return fa.equalsIgnoreCase(fb) ? 1 : 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
protected String getValue(final Field f) {
|
|
|
|
return getFirstValue(f);
|
|
|
|
}
|
|
|
|
}
|