26 |
26 |
import javax.persistence.Transient;
|
27 |
27 |
|
28 |
28 |
import org.apache.commons.collections.CollectionUtils;
|
29 |
|
import org.apache.commons.collections.Transformer;
|
30 |
29 |
import org.apache.commons.lang.StringUtils;
|
31 |
30 |
import org.apache.log4j.Logger;
|
32 |
31 |
|
... | ... | |
171 |
170 |
*/
|
172 |
171 |
boolean generateMultipleAreaDataParameters = false;
|
173 |
172 |
|
174 |
|
List<String> perLayerAreaData = new ArrayList<String>();
|
175 |
|
Map<Integer, String> areaStyles = new HashMap<Integer, String>();
|
176 |
|
List<String> legendSortList = new ArrayList<String>();
|
|
173 |
List<String> perLayerAreaData = new ArrayList<>();
|
|
174 |
Map<Integer, String> areaStyles = new HashMap<>();
|
|
175 |
List<String> legendSortList = new ArrayList<>();
|
177 |
176 |
|
178 |
177 |
String borderWidth = "0.1";
|
179 |
178 |
String borderColorRgb = "";
|
... | ... | |
187 |
186 |
|
188 |
187 |
presenceAbsenceTermColors = mergeMaps(getDefaultPresenceAbsenceTermBaseColors(), presenceAbsenceTermColors);
|
189 |
188 |
|
190 |
|
Map<String, Map<Integer, Set<Distribution>>> layerMap = new HashMap<String, Map<Integer, Set<Distribution>>>();
|
191 |
|
List<PresenceAbsenceTerm> statusList = new ArrayList<PresenceAbsenceTerm>();
|
|
189 |
Map<String, Map<Integer, Set<Distribution>>> layerMap = new HashMap<>();
|
|
190 |
List<PresenceAbsenceTerm> statusList = new ArrayList<>();
|
192 |
191 |
|
193 |
192 |
groupStylesAndLayers(filteredDistributions, layerMap, statusList, mapping);
|
194 |
193 |
|
195 |
|
Map<String, String> parameters = new HashMap<String, String>();
|
|
194 |
Map<String, String> parameters = new HashMap<>();
|
196 |
195 |
|
197 |
196 |
//style
|
198 |
197 |
int styleCounter = 0;
|
... | ... | |
202 |
201 |
|
203 |
202 |
//getting the area title
|
204 |
203 |
if (languages == null){
|
205 |
|
languages = new ArrayList<Language>();
|
|
204 |
languages = new ArrayList<>();
|
206 |
205 |
}
|
207 |
206 |
if (languages.size() == 0){
|
208 |
207 |
languages.add(Language.DEFAULT());
|
... | ... | |
237 |
236 |
* key: the style id
|
238 |
237 |
* value: the count of how often the style has been used for different layers, starts with 0 for first time use
|
239 |
238 |
*/
|
240 |
|
Map<Integer, Integer> styleUsage = new HashMap<Integer, Integer>();
|
|
239 |
Map<Integer, Integer> styleUsage = new HashMap<>();
|
241 |
240 |
|
242 |
241 |
char styleChar;
|
243 |
242 |
for (String layerString : layerMap.keySet()){
|
244 |
243 |
// each layer
|
245 |
|
styledAreasPerLayer = new ArrayList<String>();
|
|
244 |
styledAreasPerLayer = new ArrayList<>();
|
246 |
245 |
Map<Integer, Set<Distribution>> styleMap = layerMap.get(layerString);
|
247 |
246 |
for (int style: styleMap.keySet()){
|
248 |
247 |
// stylesPerLayer
|
249 |
248 |
styleChar = getStyleAbbrev(style);
|
250 |
249 |
Set<Distribution> distributionSet = styleMap.get(style);
|
251 |
|
areasPerStyle = new ArrayList<String>();
|
|
250 |
areasPerStyle = new ArrayList<>();
|
252 |
251 |
for (Distribution distribution: distributionSet){
|
253 |
252 |
// areasPerStyle
|
254 |
253 |
areasPerStyle.add(encode(getAreaCode(distribution, mapping)));
|
... | ... | |
259 |
258 |
}
|
260 |
259 |
|
261 |
260 |
if(areaStyles.size() > 0){
|
262 |
|
ArrayList<Integer> styleIds = new ArrayList<Integer>(areaStyles.size());
|
|
261 |
ArrayList<Integer> styleIds = new ArrayList<>(areaStyles.size());
|
263 |
262 |
styleIds.addAll(areaStyles.keySet());
|
264 |
263 |
Collections.sort(styleIds); // why is it necessary to sort here?
|
265 |
264 |
StringBuilder db = new StringBuilder();
|
... | ... | |
280 |
279 |
// Collections.reverse(legendSortList);
|
281 |
280 |
// remove the prepended order index (like 000000000000001 ) from the legend entries
|
282 |
281 |
@SuppressWarnings("unchecked")
|
283 |
|
Collection<String> legendEntries = CollectionUtils.collect(legendSortList, new Transformer()
|
284 |
|
{
|
285 |
|
@Override
|
286 |
|
public String transform(Object o)
|
287 |
|
{
|
288 |
|
String s = ((String) o);
|
289 |
|
return s.substring(INT_MAX_LENGTH, s.length());
|
290 |
|
}
|
291 |
|
});
|
|
282 |
Collection<String> legendEntries = CollectionUtils.collect(legendSortList, (o)->{
|
|
283 |
String s = ((String) o);
|
|
284 |
return s.substring(INT_MAX_LENGTH, s.length());
|
|
285 |
});
|
292 |
286 |
|
293 |
287 |
parameters.put("title", StringUtils.join(legendEntries.iterator(), VALUE_LIST_ENTRY_SEPARATOR));
|
294 |
288 |
}
|
... | ... | |
327 |
321 |
if(status == null){
|
328 |
322 |
continue;
|
329 |
323 |
}
|
330 |
|
status = HibernateProxyHelper.deproxy(status, PresenceAbsenceTerm.class);
|
|
324 |
status = HibernateProxyHelper.deproxy(status);
|
331 |
325 |
if (! statusList.contains(status)){
|
332 |
326 |
statusList.add(status);
|
333 |
327 |
}
|
cleanup