Project

General

Profile

1 35869 claudio.at
package eu.dnetlib.msro.workflows.hadoop.utils;
2 35866 claudio.at
3
import java.util.List;
4
5
import com.google.common.collect.Lists;
6
7 37183 claudio.at
import eu.dnetlib.data.proto.TypeProtos.Type;
8 35866 claudio.at
import eu.dnetlib.miscutils.collections.Pair;
9
10
public class SimilarityMeshBuilder {
11
12 37183 claudio.at
	public static List<Similarity> build(final Type type, final List<String> list) {
13 39374 claudio.at
14
		return build(type, list, true);
15
	}
16
17
	public static List<Similarity> build(final Type type, final List<String> list, final boolean addTypePrefix) {
18 37183 claudio.at
		final String typePrefix = String.valueOf(type.getNumber());
19
		final List<Similarity> res = Lists.newArrayList();
20 35866 claudio.at
		for (int i = 0; i < list.size(); i++) {
21
			for (int j = 0; j < list.size(); j++) {
22
23
				if (!list.get(i).equals(list.get(j))) {
24
25 39374 claudio.at
					final String source = addTypePrefix ? typePrefix + "|" + list.get(i) : list.get(i);
26
					final String target = addTypePrefix ? typePrefix + "|" + list.get(j) : list.get(j);
27 37183 claudio.at
28
					res.add(new Similarity(new Pair<String, String>(source, target), type));
29 35866 claudio.at
				}
30
			}
31
		}
32
		return res;
33
	}
34
}