private Map getRecordMap(Submission submission){
Map map= new HashMap();
Study study=submission.getStudy();
Citation citation=study.getCitation();
String publisher=null;
if(!study.isPublished())return null;
//System.out.println("ctype: "+citation.getCitationType());
try{
if(citation.getCitationType().toUpperCase().contains("BOOK"))
publisher=((BookCitation)citation).getPublisher();
else publisher=((ArticleCitation)citation).getJournal();
List<Person> authors=citation.getAuthors();
map.put("title", IdentifyUtil.escape4XML(study.getId(),citation.getTitle()));
map.put("creator", authors);
//VG 2010-11-17 fixing SF:3079602 (multiple keywords into multiple <dc:subject> elements)
//--map.put("subject", IdentifyUtil.escape4XML(study.getId(),citation.getKeywords()));
map.put("subject", splitKeywords(study.getId(),citation.getKeywords()));
if(study.getName()!=null&study.getNotes()!=null)
map.put("description", IdentifyUtil.escape4XML(study.getId(),study.getName()+" "+study.getNotes()));
else if(study.getNotes()==null)
map.put("description",IdentifyUtil.escape4XML(study.getId(),study.getName()));
else
map.put("description",IdentifyUtil.escape4XML(study.getId(),study.getNotes()));
map.put("publisher", IdentifyUtil.escape4XML(study.getId(),publisher));
map.put("date", citation.getPublishYear());
map.put("identifier", "purl.org/phylo/treebase/phylows/study/TB2:S"+study.getId());
map.put("datestamp", study.getLastModifiedDate());
}catch(Exception e){
//study 253 citation= null, data should be fixed
System.err.println("study "+study.getId()+
" citation= "+e.toString());
return null;
}
//map.put("type", "text");