added taxon description cache strategy
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / strategy / cache / description / TaxonDescriptionDefaultCacheStrategy.java
1 package eu.etaxonomy.cdm.strategy.cache.description;
2
3 import java.util.UUID;
4
5 import eu.etaxonomy.cdm.model.description.TaxonDescription;
6 import eu.etaxonomy.cdm.model.taxon.Taxon;
7 import eu.etaxonomy.cdm.strategy.StrategyBase;
8 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
9
10 public class TaxonDescriptionDefaultCacheStrategy extends StrategyBase implements
11 IIdentifiableEntityCacheStrategy<TaxonDescription> {
12
13 final static UUID uuid = UUID.fromString("0517ae48-597d-4d6b-9f18-8752d689720d");
14
15 @Override
16 protected UUID getUuid() {
17 return uuid;
18 }
19
20 public String getTitleCache(TaxonDescription taxonDescription) {
21 String title;
22 Taxon taxon = taxonDescription.getTaxon();
23 if (taxon == null){
24 title = getFirstPart(taxonDescription);
25 title = title.replace(" for ", "");
26 }else{
27 title = taxon.getTitleCache();
28 int secPos = title.indexOf("sec.");
29 if (secPos > 2){
30 title = title.substring(0, secPos).trim();
31 }
32 title = getFirstPart(taxonDescription) + title;
33 }
34 return title;
35 }
36
37 private String getFirstPart(TaxonDescription taxonDescription){
38 if (taxonDescription.isImageGallery()){
39 return "Image galery for " ;
40 }else {
41 return "Taxon description for ";
42 }
43 }
44 }