package com.netifera.platform.ui.spaces.tree;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerComparator;
import com.netifera.platform.api.model.IShadowEntity;
import com.netifera.platform.ui.internal.spaces.Activator;
public class TreeViewerComparator extends ViewerComparator {
public int category(Object element) {
if(!(element instanceof IShadowEntity))
return 0;
return Activator.getDefault().getLabelProvider().getSortingCategory((IShadowEntity) element);
}
public int compare(Viewer viewer, Object e1, Object e2) {
if(!(e1 instanceof IShadowEntity || e2 instanceof IShadowEntity))
return super.compare(viewer, e1, e2);
Integer result = Activator.getDefault().getLabelProvider().compare((IShadowEntity)e1, (IShadowEntity) e2);
if (result == null)
return super.compare(viewer, e1, e2);
return result;
}
}