Project

General

Profile

1
package eu.dnetlib.msro.workflows.nodes.utils;
2

    
3
import java.util.List;
4

    
5
import com.google.common.collect.Lists;
6
import eu.dnetlib.data.proto.TypeProtos.Type;
7
import eu.dnetlib.miscutils.collections.Pair;
8

    
9
public class SimilarityMeshBuilder {
10

    
11
	public static List<Similarity> build(final Type type, final List<String> list) {
12

    
13
		return build(type, list, true);
14
	}
15

    
16
	public static List<Similarity> build(final Type type, final List<String> list, final boolean addTypePrefix) {
17
		final String typePrefix = String.valueOf(type.getNumber());
18
		final List<Similarity> res = Lists.newArrayList();
19
		for (int i = 0; i < list.size(); i++) {
20
			for (int j = 0; j < list.size(); j++) {
21

    
22
				if (!list.get(i).equals(list.get(j))) {
23

    
24
					final String source = addTypePrefix ? typePrefix + "|" + list.get(i) : list.get(i);
25
					final String target = addTypePrefix ? typePrefix + "|" + list.get(j) : list.get(j);
26

    
27
					res.add(new Similarity(new Pair<String, String>(source, target), type));
28
				}
29
			}
30
		}
31
		return res;
32
	}
33
}
(3-3/3)