Project

General

Profile

Download (1.09 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.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
}
(15-15/19)