Project

General

Profile

« Previous | Next » 

Revision 53105

View differences:

modules/dnet-grid-application/trunk/src/main/java/eu/dnetlib/grid/process/utils/GridUtils.java
4 4
import java.io.FileNotFoundException;
5 5
import java.io.InputStream;
6 6
import java.util.ArrayList;
7
import java.util.HashSet;
7 8
import java.util.List;
8 9
import java.util.Map;
9 10
import java.util.Set;
......
59 60

  
60 61
		final String gridId = org.getId();
61 62
		final String parent = findParentName(org, parents);
62
		final String mainName = calculateName(parent, org.getName());
63
		final String mainName = applyPrefix(parent, org.getName());
63 64
		final String shortName = findShortName(org);
64 65
		final String mainOpenaireId = calculateOpenaireId(ds.getPrefix(), gridId, mainName);
66
		final Set<String> alternativeNames = calculateAlternativeNames(org);
65 67

  
66
		final Map<String, String> orgNames = calculateAlternativeNames(parent, org)
67
				.stream()
68
		final Map<String, String> orgNames = alternativeNames.stream()
69
				.map(s -> applyPrefix(parent, s))
68 70
				.collect(Collectors.toMap(
69 71
						s -> calculateOpenaireId(ds.getPrefix(), gridId, s),
70 72
						s -> s));
......
94 96
						shortName,
95 97
						org.getLinks().stream().findFirst().orElse(""),
96 98
						country,
97
						e.getKey().equals(mainOpenaireId) ? org.getAcronyms() : new ArrayList<>(),
99
						e.getKey().equals(mainOpenaireId) ? alternativeNames : new HashSet<>(),
98 100
						orgNames.keySet(),
99 101
						collectedFrom))
100 102
				.flatMap(l -> l.stream())
......
107 109
			final String shortName,
108 110
			final String url,
109 111
			final Qualifier country,
110
			final List<String> acronyms,
112
			final Set<String> alternativeNames,
111 113
			final Set<String> orgRels,
112 114
			final KeyValue collectedFrom) {
113 115

  
......
127 129
								.setLegalname(StringField.newBuilder().setValue(name))
128 130
								.setLegalshortname(StringField.newBuilder().setValue(shortName))
129 131
								.setWebsiteurl(StringField.newBuilder().setValue(url))
130
								.addAllAlternativeNames(acronyms.stream().map(a -> StringField.newBuilder().setValue(a).build()).collect(Collectors.toList()))
132
								.addAllAlternativeNames(
133
										alternativeNames.stream().map(a -> StringField.newBuilder().setValue(a).build()).collect(Collectors.toList()))
131 134
								.setCountry(country)));
132 135

  
133 136
		// Relations
......
168 171
		return String.format("20|%s::%s", prefix, Hashing.md5(gridId + " " + name));
169 172
	}
170 173

  
171
	private static String calculateName(final String parent, final String simpleName) {
174
	private static String applyPrefix(final String parent, final String simpleName) {
172 175
		return StringUtils.isBlank(parent) ? simpleName : parent + " - " + simpleName;
173 176
	}
174 177

  
175
	private static Set<String> calculateAlternativeNames(final String parent, final GridOrganization org) {
176
		final Set<String> res = org.getAcronyms().stream()
177
				.map(s -> calculateName(parent, s))
178
	private static Set<String> calculateAlternativeNames(final GridOrganization org) {
179
		final Set<String> res = org.getLabels().stream()
180
				.map(GridLabel::getLabel)
178 181
				.collect(Collectors.toSet());
179
		res.addAll(org.getLabels().stream()
180
				.map(GridLabel::getLabel)
181
				.map(s -> calculateName(parent, s))
182
				.collect(Collectors.toSet()));
182
		res.addAll(org.getAcronyms());
183 183
		return res;
184 184
	}
185 185

  

Also available in: Unified diff