package com.tibco.as.spacebar.ui.navigator;
import java.text.Collator;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerSorter;
import com.tibco.as.spacebar.ui.model.IElement;
public class MetaspaceSorter extends ViewerSorter {
public MetaspaceSorter() {
}
public MetaspaceSorter(Collator collator) {
super(collator);
}
@Override
public int compare(Viewer viewer, Object object1, Object object2) {
if (object1 instanceof IElement && object2 instanceof IElement) {
IElement element1 = (IElement) object1;
IElement element2 = (IElement) object2;
return getIndex(element1) - getIndex(element2);
}
return super.compare(viewer, object1, object2);
}
private int getIndex(IElement element) {
IElement parent = element.getParent();
if (parent == null) {
return -1;
}
return parent.getChildren().indexOf(element);
}
}