Project

General

Profile

« Previous | Next » 

Revision 2ddd75d2

Added by Andreas Müller about 8 years ago

Add separator after nom status in taxon titleCache #5576

View differences:

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