import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.IDescribable;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.TermStore;
import eu.etaxonomy.taxeditor.store.UsageTermCollection;
/**
@Override
public int compare(IndividualsAssociation o1, IndividualsAssociation o2) {
- if(o1==null || o1.getAssociatedSpecimenOrObservation()==null){
- return -1;
+ if(o1==null){
+ if(o2==null){
+ return 0;
+ }
+ else{
+ return -1;
+ }
}
- if(o2==null || o2.getAssociatedSpecimenOrObservation()==null){
+ else if(o2==null){
return 1;
}
- return o1.getAssociatedSpecimenOrObservation().compareTo(o2.getAssociatedSpecimenOrObservation());
+
+ if(o1.getAssociatedSpecimenOrObservation()==null){
+ if(o2.getAssociatedSpecimenOrObservation()==null){
+ return 0;
+ }
+ else{
+ return -1;
+ }
+ }
+ else if(o2.getAssociatedSpecimenOrObservation()==null){
+ return 1;
+ }
+
+ String titleCache1 = o1.getAssociatedSpecimenOrObservation().getTitleCache();
+ String titleCache2 = o2.getAssociatedSpecimenOrObservation().getTitleCache();
+
+ if(titleCache1==null){
+ if(titleCache2==null){
+ return 0;
+ }
+ else{
+ return -1;
+ }
+ }
+ if(titleCache2==null){
+ return 1;
+ }
+
+ return titleCache1.compareTo(titleCache2);
}
});
if(showOnlyIndividualAssociations){