fix update for new classification in taxonnavigator
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / TaxonNodeNavigatorComparator.java
1 package eu.etaxonomy.taxeditor.navigation.navigator;
2
3 import java.util.Comparator;
4
5 import org.eclipse.jface.viewers.Viewer;
6 import org.eclipse.jface.viewers.ViewerComparator;
7
8 import eu.etaxonomy.cdm.model.taxon.Classification;
9 import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
10
11 public class TaxonNodeNavigatorComparator extends ViewerComparator{
12
13 Comparator<TaxonNodeDto> comparator;
14
15 public TaxonNodeNavigatorComparator(Comparator<TaxonNodeDto> comparator){
16 super();
17 this.comparator = comparator;
18 }
19
20
21
22 @Override
23 public int compare(Viewer viewer, Object e1, Object e2){
24 if ((e1 instanceof Classification && e2 instanceof Classification) ){
25 return ((Classification)e1).getTitleCache().compareTo(((Classification)e2).getTitleCache());
26 } else{
27 if (((TaxonNodeDto)e1).getTaxonUuid() == null && ((TaxonNodeDto)e2).getTaxonUuid() == null){
28 String title1 = ((TaxonNodeDto)e1).getTitleCache();
29 title1 = title1 == null ? "" : title1;
30 return title1.compareTo(((TaxonNodeDto)e2).getTitleCache());
31 }else{
32 return comparator.compare((TaxonNodeDto)e1, (TaxonNodeDto)e2);
33 }
34
35 }
36 }
37 }