Project

General

Profile

1
package eu.dnetlib.pace.distance.eval;
2

    
3
import java.util.HashMap;
4

    
5
/**
6
 * Created by claudio on 10/03/16.
7
 */
8
public class DistanceEvalMap extends HashMap<String, DistanceEval> {
9

    
10
	private double sumWeights;
11

    
12
	private double sumDistances = 0.0;
13

    
14
	public DistanceEvalMap(final double sumWeights) {
15
		this.sumWeights = sumWeights;
16
	}
17

    
18
	public void updateDistance(final DistanceEval d) {
19

    
20
		put(d.getFieldDef().getName(), d);
21
		if (d.getDistance() >= 0) {
22
			sumDistances += d.getDistance();
23
		} else {
24
			sumWeights -= d.getFieldDef().getWeight();
25
		}
26
	}
27

    
28
	public double distance() {
29
		return sumWeights == 0 ? 0 : sumDistances / sumWeights;
30
	}
31

    
32
}
(4-4/5)