+ return;
+ }
+ if(!associatedTaxa.isEmpty()){
+ TableViewer viewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
+ viewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ viewer.setContentProvider(new ArrayContentProvider());
+ viewer.setLabelProvider(new LabelProvider(){
+ @Override
+ public String getText(Object element) {
+ return "Associated with "+element.toString();
+ }
+ });
+ viewer.setInput(associatedTaxa);
+ viewer.addDoubleClickListener(this);
+ }
+ if(!typeDesignations.isEmpty()){
+ TableViewer viewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
+ viewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ viewer.setContentProvider(new ArrayContentProvider());
+ viewer.setLabelProvider(new LabelProvider(){
+ @Override
+ public String getText(Object element) {
+ SpecimenTypeDesignation typeDesignation = (SpecimenTypeDesignation)element;
+ String label = typeDesignation.getTypeStatus().getLabel()+" of ";
+ Set<TaxonNameBase> typifiedNames = typeDesignation.getTypifiedNames();
+ for (TaxonNameBase taxonNameBase : typifiedNames) {
+ label += taxonNameBase+", ";
+ }
+ if(label.endsWith(", ")){
+ label = label.substring(0, label.length()-2);
+ }
+ return label;
+ }
+ });
+ viewer.setInput(typeDesignations);
+ viewer.addDoubleClickListener(this);
+ }
+ if(!determinationEvents.isEmpty()){
+ TableViewer viewer = new TableViewer(getLayoutComposite(), SWT.FULL_SELECTION);
+ viewer.getTable().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ viewer.setContentProvider(new ArrayContentProvider());
+ viewer.setLabelProvider(new LabelProvider(){
+ @Override
+ public String getText(Object element) {
+ DeterminationEvent determinationEvent = (DeterminationEvent)element;
+ if(determinationEvent.getTaxon()!=null){
+ return "Determined as taxon "+determinationEvent.getTaxon();
+ }
+ if(determinationEvent.getTaxonName()!=null){
+ return "Determined as name "+determinationEvent.getTaxonName();
+ }
+ return element.toString();
+ }
+ });
+ viewer.setInput(determinationEvents);
+ viewer.addDoubleClickListener(this);