2023-07-06 10:28:53 +02:00
|
|
|
|
2018-10-02 10:37:54 +02:00
|
|
|
package eu.dnetlib.pace.clustering;
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
2019-10-08 14:53:52 +02:00
|
|
|
import eu.dnetlib.pace.config.Config;
|
2018-10-02 10:37:54 +02:00
|
|
|
import eu.dnetlib.pace.model.Person;
|
|
|
|
|
2022-04-19 10:18:09 +02:00
|
|
|
@ClusteringClass("personHash")
|
2018-10-02 10:37:54 +02:00
|
|
|
public class PersonHash extends AbstractClusteringFunction {
|
|
|
|
|
|
|
|
private boolean DEFAULT_AGGRESSIVE = false;
|
|
|
|
|
|
|
|
public PersonHash(final Map<String, Integer> params) {
|
|
|
|
super(params);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2019-10-08 14:53:52 +02:00
|
|
|
protected Collection<String> doApply(final Config conf, final String s) {
|
2018-10-02 10:37:54 +02:00
|
|
|
final List<String> res = Lists.newArrayList();
|
|
|
|
|
2023-07-06 10:28:53 +02:00
|
|
|
final boolean aggressive = (Boolean) (getParams().containsKey("aggressive") ? getParams().get("aggressive")
|
|
|
|
: DEFAULT_AGGRESSIVE);
|
2018-10-02 10:37:54 +02:00
|
|
|
|
|
|
|
res.add(new Person(s, aggressive).hash());
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|