1 package org.cateproject.view.excel;
2
3 import org.apache.poi.hssf.usermodel.HSSFSheet;
4 import org.joda.time.format.DateTimeFormat;
5 import org.joda.time.format.DateTimeFormatter;
6
7 import eu.etaxonomy.cdm.model.agent.AgentBase;
8 import eu.etaxonomy.cdm.model.agent.Institution;
9 import eu.etaxonomy.cdm.model.agent.Person;
10 import eu.etaxonomy.cdm.model.agent.Team;
11
12 public class AgentExcelView extends ExcelView<AgentBase> {
13
14 @Override
15 protected void addRow(AgentBase agent, int row, HSSFSheet sheet) {
16 if(agent.getClass().equals(Person.class)) {
17 setValue(sheet,row,0,"Person");
18 } else if(agent.getClass().equals(Team.class)) {
19 setValue(sheet,row,0,"Team");
20 } else {
21 setValue(sheet,row,0,"Institution");
22 }
23
24 if(agent.getLsid() != null) {
25 setValue(sheet,row,1,agent.getLsid().toString());
26 }
27 setValue(sheet,row,2,agent.getTitleCache());
28
29 if(agent.getClass().equals(Person.class)) {
30 Person person = (Person)agent;
31 setValue(sheet,row,3,person.getPrefix());
32 setValue(sheet,row,4,person.getFirstname());
33 setValue(sheet,row,5,person.getLastname());
34 setValue(sheet,row,6,person.getSuffix());
35 if(person.getLifespan() != null) {
36 if(person.getLifespan().getStart() != null) {
37 setValue(sheet,row,7,ExcelView.formatter.print(person.getLifespan().getStart()));
38 }
39 if(person.getLifespan().getEnd() != null) {
40 setValue(sheet,row,8,ExcelView.formatter.print(person.getLifespan().getEnd()));
41 }
42 }
43
44 setValue(sheet,row,9,person.getNomenclaturalTitle());
45 } else if(agent.getClass().equals(Team.class)) {
46 setValue(sheet,row,9,((Team)agent).getNomenclaturalTitle());
47 } else {
48 setValue(sheet,row,10,((Institution)agent).getCode());
49 }
50 }
51
52 @Override
53 protected String[] getHeadings() {
54 return new String[] {"Type","LSID","Full Name","Prefix","Firstname","Lastname","Suffix","Born","Died","Nomenclatural Title","Code"};
55 }
56
57 }