Agent cache strategies
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / strategy / cache / agent / TeamDefaultCacheStrategy.java
1 /**
2 *
3 */
4 package eu.etaxonomy.cdm.strategy.cache.agent;
5
6 import java.util.List;
7 import java.util.UUID;
8
9 import org.apache.log4j.Logger;
10
11 import eu.etaxonomy.cdm.model.agent.Person;
12 import eu.etaxonomy.cdm.model.agent.Team;
13 import eu.etaxonomy.cdm.strategy.StrategyBase;
14
15 /**
16 * @author AM
17 *
18 */
19 public class TeamDefaultCacheStrategy extends StrategyBase implements INomenclaturalAuthorCacheStrategy<Team> {
20 private static final long serialVersionUID = 8375295443642690479L;
21 @SuppressWarnings("unused")
22 private static final Logger logger = Logger.getLogger(TeamDefaultCacheStrategy.class);
23
24 final static UUID uuid = UUID.fromString("1cbda0d1-d5cc-480f-bf38-40a510a3f223");
25
26 public static final String EMPTY_TEAM = "-empty team-";
27
28 static public TeamDefaultCacheStrategy NewInstance(){
29 return new TeamDefaultCacheStrategy();
30 }
31
32 /**
33 *
34 */
35 private TeamDefaultCacheStrategy() {
36 super();
37 }
38
39 /* (non-Javadoc)
40 * @see eu.etaxonomy.cdm.strategy.StrategyBase#getUuid()
41 */
42 @Override
43 protected UUID getUuid() {
44 return uuid;
45 }
46
47 /* (non-Javadoc)
48 * @see eu.etaxonomy.cdm.strategy.INomenclaturalAuthorCacheStrategy#getNomenclaturalTitle(eu.etaxonomy.cdm.model.name.TaxonNameBase)
49 */
50 public String getNomenclaturalTitle(Team team) {
51 String result = "";
52 List<Person> teamMembers = team.getTeamMembers();
53 for (Person teamMember : teamMembers){
54 result += teamMember.getNomenclaturalTitle() + " & ";
55 }
56 if (teamMembers.size() > 0){
57 result = result.substring(0, result.length() - 3);
58 }else{
59 result = getTitleCache(team);
60 }
61 return result;
62 }
63
64 /* (non-Javadoc)
65 * @see eu.etaxonomy.cdm.strategy.INomenclaturalAuthorCacheStrategy#getTitleCache(eu.etaxonomy.cdm.model.name.TaxonNameBase)
66 */
67 public String getTitleCache(Team team) {
68 // TODO is still dummy
69 String result = "";
70 List<Person> teamMembers = team.getTeamMembers();
71 for (Person teamMember : teamMembers){
72 result += teamMember.getTitleCache() + " & ";
73 }
74 if (teamMembers.size() > 0){
75 result = result.substring(0, result.length() - 3);
76 }else{
77 result = EMPTY_TEAM;
78 }
79 return result;
80 }
81
82 }