Project

General

Profile

Download (1.15 KB) Statistics
| Branch: | Tag: | Revision:
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.model.taxon.TaxonNaturalComparator;
10
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
11

    
12
public class TaxonNodeNavigatorComparator extends ViewerComparator{
13

    
14
	Comparator<TaxonNode> comparator;
15
	
16
	public TaxonNodeNavigatorComparator(Comparator<TaxonNode> comparator){
17
		super();
18
		this.comparator = comparator;
19
	}
20

    
21
	
22
	
23
	@Override
24
	public int compare(Viewer viewer, Object e1, Object e2){
25
		if ((e1 instanceof Classification && e2 instanceof Classification) ){
26
			return ((Classification)e1).getTitleCache().compareTo(((Classification)e2).getTitleCache());
27
		} else{
28
			if (((TaxonNode)e1).getTaxon() == null && ((TaxonNode)e2).getTaxon() == null){
29
				String title1 = ((TaxonNode)e1).getClassification().getTitleCache();
30
				title1 = title1 == null ? "" : title1;
31
				return title1.compareTo(((TaxonNode)e2).getClassification().getTitleCache());
32
			}else{
33
				return comparator.compare((TaxonNode)e1, (TaxonNode)e2);
34
			}
35
			
36
		}
37
	}
38
}
(17-17/21)