View Javadoc

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  }