import java.util.Collection;
import java.util.Comparator;
+import java.util.List;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
/**
@Override
public Comparator<Person> getComparator() {
- return new DefaultCdmBaseComparator<>();
+ return (p1, p2) -> {
+ if(p1==null){
+ return -1;
+ }
+ if(p2==null){
+ return 1;
+ }
+ List<Person> teamMembers = getEntity().getTeamMembers();
+ int indexOfP1 = teamMembers.indexOf(p1);
+ int indexOfP2 = teamMembers.indexOf(p2);
+ if(indexOfP1==-1){
+ return 1;
+ }
+ if(indexOfP2==-1){
+ return -1;
+ }
+ return indexOfP1 - indexOfP2;
+ };
}
/**