1 package eu
.etaxonomy
.taxeditor
.navigation
.navigator
;
3 import java
.util
.Comparator
;
5 import org
.eclipse
.jface
.viewers
.Viewer
;
6 import org
.eclipse
.jface
.viewers
.ViewerComparator
;
8 import eu
.etaxonomy
.cdm
.model
.taxon
.Classification
;
9 import eu
.etaxonomy
.cdm
.persistence
.dto
.TaxonNodeDto
;
11 public class TaxonNodeNavigatorComparator
extends ViewerComparator
{
13 Comparator
<TaxonNodeDto
> comparator
;
15 public TaxonNodeNavigatorComparator(Comparator
<TaxonNodeDto
> comparator
){
17 this.comparator
= comparator
;
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());
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());
32 return comparator
.compare((TaxonNodeDto
)e1
, (TaxonNodeDto
)e2
);