Revision 2ddd75d2
Added by Andreas Müller about 8 years ago
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/cache/name/NonViralNameDefaultCacheStrategy.java | ||
---|---|---|
349 | 349 |
} |
350 | 350 |
|
351 | 351 |
//nomenclatural status |
352 |
tags.addAll(getNomStatusTags(nonViralName, true, false)); |
|
353 |
return tags; |
|
354 |
|
|
355 |
} |
|
356 |
|
|
357 |
|
|
358 |
/** |
|
359 |
* @param nonViralName |
|
360 |
* @param tags |
|
361 |
* @return |
|
362 |
*/ |
|
363 |
@Override |
|
364 |
public List<TaggedText> getNomStatusTags(T nonViralName, boolean includeSeparatorBefore, |
|
365 |
boolean includeSeparatorAfter) { |
|
352 | 366 |
Set<NomenclaturalStatus> ncStati = nonViralName.getStatus(); |
353 | 367 |
Iterator<NomenclaturalStatus> iterator = ncStati.iterator(); |
354 | 368 |
List<TaggedText> nomStatusTags = new ArrayList<TaggedText>(); |
... | ... | |
356 | 370 |
NomenclaturalStatus ncStatus = iterator.next(); |
357 | 371 |
// since the NewInstance method of nomencatural status allows null as parameter |
358 | 372 |
// we have to check for null values here |
359 |
String suffix = "not defined";
|
|
373 |
String nomStatusStr = "not defined";
|
|
360 | 374 |
if(ncStatus.getType() != null){ |
361 | 375 |
NomenclaturalStatusType statusType = ncStatus.getType(); |
362 | 376 |
Language lang = Language.LATIN(); |
363 | 377 |
Representation repr = statusType.getRepresentation(lang); |
364 | 378 |
if (repr != null){ |
365 |
suffix = repr.getAbbreviatedLabel();
|
|
379 |
nomStatusStr = repr.getAbbreviatedLabel();
|
|
366 | 380 |
}else{ |
367 | 381 |
String message = "No latin representation available for nom. status. " + statusType.getTitleCache(); |
368 | 382 |
logger.warn(message); |
369 | 383 |
throw new IllegalStateException(message); |
370 | 384 |
} |
371 |
}else if(ncStatus.getRuleConsidered() != null && ! ncStatus.getRuleConsidered().equals("")){
|
|
372 |
suffix = ncStatus.getRuleConsidered();
|
|
385 |
}else if(StringUtils.isNotBlank(ncStatus.getRuleConsidered())){
|
|
386 |
nomStatusStr = ncStatus.getRuleConsidered();
|
|
373 | 387 |
} |
374 | 388 |
String statusSeparator = ", "; |
375 |
nomStatusTags.add(new TaggedText(TagEnum.separator, statusSeparator)); |
|
376 |
nomStatusTags.add(new TaggedText(TagEnum.nomStatus, suffix)); |
|
389 |
if (includeSeparatorBefore){ |
|
390 |
nomStatusTags.add(new TaggedText(TagEnum.separator, statusSeparator)); |
|
391 |
} |
|
392 |
nomStatusTags.add(new TaggedText(TagEnum.nomStatus, nomStatusStr)); |
|
393 |
if (includeSeparatorAfter){ |
|
394 |
nomStatusTags.add(new TaggedText(TagEnum.separator, ",")); |
|
395 |
} |
|
377 | 396 |
} |
378 |
tags.addAll(nomStatusTags); |
|
379 |
return tags; |
|
380 |
|
|
397 |
return nomStatusTags; |
|
381 | 398 |
} |
382 | 399 |
|
383 | 400 |
@Override |
Also available in: Unified diff
Add separator after nom status in taxon titleCache #5576