Revision 57925
Added by Michele Artini over 4 years ago
GenerateSimilaritiesReducer.java | ||
---|---|---|
32 | 32 |
|
33 | 33 |
if (list.size() < 2) { return; } |
34 | 34 |
|
35 |
final String mainId = findMainId(OpenOrgsCommon.OPENORGS_MAIN_PREFIX, list);
|
|
35 |
final List<String> mainIds = findMainIds(OpenOrgsCommon.OPENORGS_MAIN_PREFIX, list);
|
|
36 | 36 |
|
37 |
if (StringUtils.isNotBlank(mainId)) { |
|
38 |
for (final OafEntity o : list) { |
|
39 |
if (!o.getOriginalIdList().contains(mainId)) { |
|
40 |
context.getCounter("organization", "relations to " + OpenOrgsCommon.OPENORGS_MAIN_PREFIX + "*").increment(1); |
|
41 |
emit(newSimilarity(mainId, o), context); |
|
37 |
if (mainIds.size() > 10) { |
|
38 |
context.getCounter("organization", "groups with n of openOrgsID > 10").increment(1); |
|
39 |
} else { |
|
40 |
context.getCounter("organization", "groups with n of openOrgsID = " + mainIds.size()).increment(1); |
|
41 |
} |
|
42 |
|
|
43 |
for (final String mainId : mainIds) { |
|
44 |
if (StringUtils.isNotBlank(mainId)) { |
|
45 |
for (final OafEntity o : list) { |
|
46 |
if (!o.getOriginalIdList().contains(mainId)) { |
|
47 |
context.getCounter("organization", "relations to " + OpenOrgsCommon.OPENORGS_MAIN_PREFIX + "*").increment(1); |
|
48 |
emit(newSimilarity(mainId, o), context); |
|
49 |
} |
|
42 | 50 |
} |
43 | 51 |
} |
44 | 52 |
} |
... | ... | |
48 | 56 |
} |
49 | 57 |
} |
50 | 58 |
|
51 |
private String findMainId(final String idPrefix, final List<OafEntity> list) {
|
|
59 |
private List<String> findMainIds(final String idPrefix, final List<OafEntity> list) {
|
|
52 | 60 |
final List<String> valids = new ArrayList<>(); |
53 |
|
|
54 | 61 |
for (final OafEntity e : list) { |
55 | 62 |
for (final String id : e.getOriginalIdList()) { |
56 | 63 |
if (id.startsWith(idPrefix)) { |
... | ... | |
58 | 65 |
} |
59 | 66 |
} |
60 | 67 |
} |
61 |
if (valids.isEmpty()) { return null; } |
|
62 |
|
|
63 |
valids.sort(String::compareTo); |
|
64 |
|
|
65 |
return valids.get(0); |
|
68 |
return valids; |
|
66 | 69 |
} |
67 | 70 |
|
68 | 71 |
private void emit(final Similarity simrel, final Context context) { |
Also available in: Unified diff