*/
package eu.etaxonomy.taxeditor.ui.section;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.EnumSet;
+import java.util.List;
import java.util.Observable;
import java.util.Observer;
*/
private void renderContent(boolean forceExpansion)
{
- Collection<ELEMENT> elements = getCollection(getEntity());
+ List<ELEMENT> elements = new ArrayList<>(getCollection(getEntity()));
+ Collections.sort(elements, getComparator());
if(elements == null || elements.isEmpty()){
createEmptyContent();
return entityCollectionElement;
}
+ /**
+ * Returns the {@link Comparator} specific for the ELEMENTs
+ * which is used to sort the elements
+ * @return the comparator for ELEMENT
+ */
+ public abstract Comparator<ELEMENT> getComparator();
/**
* Get the specific collection of this entity
*/
public abstract Collection<ELEMENT> getCollection(ENTITY entity);
+
/**
* Create a new Element for this collection
*
--- /dev/null
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section;
+
+import java.util.Comparator;
+
+import eu.etaxonomy.cdm.model.common.CdmBase;
+
+/**
+ * @author pplitzner
+ * @since Mar 5, 2018
+ *
+ */
+public class DefaultCdmBaseComparator<T extends CdmBase> implements Comparator<T> {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public int compare(T o1, T o2) {
+ if(o1==null){
+ return -1;
+ }
+ if(o2==null){
+ return 1;
+ }
+ return o1.getId()-o2.getId();
+ }
+
+}
package eu.etaxonomy.taxeditor.ui.section.agent;
import java.util.Collection;
+import java.util.Comparator;
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;
/**
return getEntity().getTeamMembers();
}
+ @Override
+ public Comparator<Person> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/**
* @return
*/
package eu.etaxonomy.taxeditor.ui.section.classification;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author k.luther
return allAgentRelationships;
}
+ @Override
+ public Comparator<TaxonNodeAgentRelation> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
@Override
public void addElement(TaxonNodeAgentRelation element) {
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Comparator;
import java.util.List;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>DescribedSpecimenSection class.</p>
return collection;
}
+ @Override
+ public Comparator<SpecimenOrObservationBase> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public SpecimenOrObservationBase createNewElement() {
package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>DescriptionElementMediaSection class.</p>
return entity.getMedia();
}
+ @Override
+ public Comparator<Media> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>
return sources;
}
+ @Override
+ public Comparator<DescriptionElementSource> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>DescriptionSourceSection class.</p>
return entity.getSources();
}
+ @Override
+ public Comparator<IdentifiableSource> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>GeoScopeSection class.</p>
return entity.getGeoScopes();
}
+ @Override
+ public Comparator<NamedArea> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public NamedArea createNewElement() {
package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.description.IModifiable;
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;
/**
return entity.getModifiers();
}
+ @Override
+ public Comparator<DefinedTerm> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/**
* {@inheritDoc}
*/
package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
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;
/**
return entity.getScopes();
}
+ @Override
+ public Comparator<DefinedTerm> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/**
* {@inheritDoc}
*/
package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>StateDataSection class.</p>
return entity.getStateData();
}
+ @Override
+ public Comparator<StateData> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public StateData createNewElement() {
package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.QuantitativeData;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>StatisticalMeasurementValueSection class.</p>
return entity.getStatisticalValues();
}
+ @Override
+ public Comparator<StatisticalMeasurementValue> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public StatisticalMeasurementValue createNewElement() {
package eu.etaxonomy.taxeditor.ui.section.grantedAuthority;
import java.util.Collection;
+import java.util.Comparator;
import org.springframework.security.core.GrantedAuthority;
return entity.getGrantedAuthorities();
}
+ @Override
+ public Comparator<GrantedAuthority> getComparator() {
+ return new Comparator<GrantedAuthority>() {
+
+ @Override
+ public int compare(GrantedAuthority o1, GrantedAuthority o2) {
+ if(o1==null){
+ return -1;
+ }
+ if(o2==null){
+ return 1;
+ }
+ return o1.getAuthority().compareTo(o2.getAuthority());
+ }
+ };
+ }
+
/*
* (non-Javadoc)
*
package eu.etaxonomy.taxeditor.ui.section.group;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author n.hoffmann
return entity.getMembers();
}
+ @Override
+ public Comparator<User> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.key;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
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;
/**
return entity.getScopeRestrictions();
}
+ @Override
+ public Comparator<DefinedTerm> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
@Override
public DefinedTerm createNewElement() {
return null;
package eu.etaxonomy.taxeditor.ui.section.key;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author n.hoffmann
return entity.getTaxonomicScope();
}
+ @Override
+ public Comparator<Taxon> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/*
* (non-Javadoc)
*
package eu.etaxonomy.taxeditor.ui.section.media;
import java.util.Collection;
+import java.util.Comparator;
import org.eclipse.jface.util.PropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>MediaRepresentationPartSection class.</p>
return getEntity().getParts();
}
+ @Override
+ public Comparator<MediaRepresentationPart> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
package eu.etaxonomy.taxeditor.ui.section.media;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>MediaRepresentationSection class.</p>
return getEntity().getRepresentations();
}
+ @Override
+ public Comparator<MediaRepresentation> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
package eu.etaxonomy.taxeditor.ui.section.media;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>MediaSection class.</p>
return entity.getMedia();
}
+ @Override
+ public Comparator<Media> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
package eu.etaxonomy.taxeditor.ui.section.name;
import java.util.Collection;
+import java.util.Comparator;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.wizard.WizardDialog;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
/**
return allNameRelationships;
}
+ @Override
+ public Comparator<NameRelationship> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
package eu.etaxonomy.taxeditor.ui.section.name;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
/**
return entity.getStatus();
}
+ @Override
+ public Comparator<NomenclaturalStatus> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Comparator;
import java.util.List;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
/**
//OLD: return getTaxonNameDescription(entity).getElements();
}
+ @Override
+ public Comparator<DescriptionElementBase> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
if(name.getDescriptions().size() == 0){
name.addDescription(TaxonNameDescription.NewInstance(name));
}
- return (TaxonNameDescription) name.getDescriptions().iterator().next();
+ return name.getDescriptions().iterator().next();
}
/**
package eu.etaxonomy.taxeditor.ui.section.name;
-import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.INameService;
if (entity == null){
return null;
}
- List<TypeDesignationBase> typeDesignations = new ArrayList<>(entity.getTypeDesignations());
- Collections.sort(typeDesignations, AbstractUtility.getTypeDesignationComparator());
- return typeDesignations;
+ return entity.getTypeDesignations();
+ }
+
+ @Override
+ public Comparator<TypeDesignationBase> getComparator() {
+ return AbstractUtility.getTypeDesignationComparator();
}
/** {@inheritDoc} */
package eu.etaxonomy.taxeditor.ui.section.occurrence;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>
return entity.getCollectingAreas();
}
+ @Override
+ public Comparator<NamedArea> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
*/
import java.util.Arrays;
import java.util.Collection;
+import java.util.Comparator;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author n.hoffmann
return preferredDetermination != null ? Arrays.asList(new DeterminationEvent[]{preferredDetermination}) : null;
}
+ @Override
+ public Comparator<DeterminationEvent> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.occurrence.AbstractDeterminationEventDetailSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author n.hoffmann
return entity != null ? entity.getOtherDeterminations() : null;
}
+ @Override
+ public Comparator<DeterminationEvent> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
@Override
public void refresh() {
internalUpdateSection(false);
package eu.etaxonomy.taxeditor.ui.section.occurrence;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>
return entity.getGeoScopes();
}
+ @Override
+ public Comparator<NamedArea> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
*
return entity.getGeographicalScope();
}
+ @Override
+ public Comparator<NamedArea> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public NamedArea createNewElement() {
package eu.etaxonomy.taxeditor.ui.section.occurrence;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>SourceCollectionDetailSection class.</p>
return entity.getSources();
}
+ @Override
+ public Comparator<IdentifiableSource> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>SpecimenCollectionDetailSection class.</p>
return entity.getDuplicates();
}
+ @Override
+ public Comparator<DerivedUnit> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
*/
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author pplitzner
return typeDesignations;
}
+ @Override
+ public Comparator<SpecimenTypeDesignation> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public SpecimenTypeDesignation createNewElement() {
import java.util.Arrays;
import java.util.Collection;
+import java.util.Comparator;
import java.util.Set;
import org.eclipse.jface.action.Action;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author n.hoffmann
return preferredDetermination != null ? Arrays.asList(new DeterminationEvent[]{preferredDetermination}) : null;
}
+ @Override
+ public Comparator<DeterminationEvent> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.occurrence.AbstractDeterminationEventDetailSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>SourceCollectionDetailSection class.</p>
return entity.getSources();
}
+ @Override
+ public Comparator<IdentifiableSource> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
*/
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author pplitzner
return Collections.EMPTY_LIST;
}
+ @Override
+ public Comparator<Media> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.Identifier;
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.view.derivateSearch.DerivateLabelProvider;
/**
}
}
+ @Override
+ public Comparator<Identifier> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
import java.util.Collection;
+import java.util.Comparator;
import java.util.LinkedList;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.Identifier;
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.view.derivateSearch.DerivateLabelProvider;
/**
return sampleDesignations;
}
+ @Override
+ public Comparator<Identifier> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
@Override
public void refresh() {
internalUpdateSection(false);
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author pplitzner
return Collections.EMPTY_LIST;
}
+ @Override
+ public Comparator<Media> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.molecular.Sequence;
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* This section visualizes {@link Reference}s belonging to a {@link Sequence} and alllows adding/removing them.
return entity.getCitations();
}
+ @Override
+ public Comparator<Reference> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author pplitzner
return Collections.EMPTY_LIST;
}
+ @Override
+ public Comparator<Media> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
/**
- *
+ *
*/
package eu.etaxonomy.taxeditor.ui.section.supplemental;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>AnnotationSection class.</p>
String text = "";
AnnotationType type = AnnotationType.EDITORIAL();
Language language = CdmStore.getDefaultLanguage();
-
+
return Annotation.NewInstance(text, type, language);
}
return entity.getAnnotations();
}
+ @Override
+ public Comparator<Annotation> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
public boolean allowAddExisting() {
// TODO Auto-generated method stub
return false;
- }
+ }
}
/**
- *
+ *
*/
package eu.etaxonomy.taxeditor.ui.section.supplemental;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.Credit;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>CreditSection class.</p>
return entity.getCredits();
}
+ @Override
+ public Comparator<Credit> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
/**
- *
+ *
*/
package eu.etaxonomy.taxeditor.ui.section.supplemental;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.Extension;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>ExtensionSection class.</p>
return entity.getExtensions();
}
+ @Override
+ public Comparator<Extension> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
package eu.etaxonomy.taxeditor.ui.section.supplemental;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
import eu.etaxonomy.cdm.model.common.Marker;
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;
/**
return entity.getMarkers();
}
+ @Override
+ public Comparator<Marker> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/**
* {@inheritDoc}
*/
package eu.etaxonomy.taxeditor.ui.section.supplemental;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* <p>RightsSection class.</p>
return entity.getRights();
}
+ @Override
+ public Comparator<Rights> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
import eu.etaxonomy.taxeditor.ui.section.description.SourceComparator;
/**
return sources;
}
+ @Override
+ public Comparator<IdentifiableSource> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/** {@inheritDoc} */
@Override
public String getEmptyString() {
package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.common.Identifier;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
- *
+ *
* @author pplitzner
*
*/
return entity.getIdentifiers();
}
+ @Override
+ public Comparator<Identifier> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
@Override
public void addElement(Identifier element) {
package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.Identifier;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
- *
+ *
* @author pplitzner
*
*/
return entity.getIdentifiers();
}
+ @Override
+ public Comparator<Identifier> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
@Override
public void addElement(Identifier element) {
getEntity().addIdentifier(element);
package eu.etaxonomy.taxeditor.ui.section.user;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
/**
* @author n.hoffmann
return entity.getGroups();
}
+ @Override
+ public Comparator<Group> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.vocabulary;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
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;
/**
return entity.getRecommendedMeasurementUnits();
}
+ @Override
+ public Comparator<MeasurementUnit> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.vocabulary;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.description.Feature;
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;
/**
return entity.getRecommendedModifierEnumeration();
}
+ @Override
+ public Comparator<TermVocabulary<DefinedTerm>> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.vocabulary;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.description.State;
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;
/**
return entity.getSupportedCategoricalEnumerations();
}
+ @Override
+ public Comparator<TermVocabulary<State>> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/
package eu.etaxonomy.taxeditor.ui.section.vocabulary;
import java.util.Collection;
+import java.util.Comparator;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
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;
/**
return entity.getRecommendedStatisticalMeasures();
}
+ @Override
+ public Comparator<StatisticalMeasure> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
*/