import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.metadata.DistributionDescription;
import eu.etaxonomy.taxeditor.event.EventUtility;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
/**
* @author k.luther
}
dist = Distribution.NewInstance(area, ((StatusHelper)newValue).term);
Set<TaxonDescription> descs = taxonWrapper.getDescriptionsWrapper().getDescriptions();
- TaxonDescription desc;
+ TaxonDescription desc = null;
if (descs.size() >= 1){
- desc = descs.iterator().next();
+ Iterator<TaxonDescription> itDesc = descs.iterator();
+ while(itDesc.hasNext()) {
+ TaxonDescription next = itDesc.next();
+ if (next.isDefault()) {
+ desc = next;
+ break;
+ }
+ }
+
+ if (desc == null) {
+ if (PreferencesUtil.getDescriptionForChecklistEditor().equals(DistributionDescription.AlwaysDefault)){
+ desc = TaxonDescription.NewInstance();
+ desc.setDefault(true);
+ taxonWrapper.getDescriptionsWrapper().getDescriptions().add(desc);
+ }else {
+ desc = descs.iterator().next();
+ }
+ }
}else {
desc = TaxonDescription.NewInstance();
+ desc.setDefault(true);
+
taxonWrapper.getDescriptionsWrapper().getDescriptions().add(desc);
}
if (editor.getDefaultSource() != null){
dist.addSource(DescriptionElementSource.NewPrimarySourceInstance(editor.getDefaultSource(), null));
}
desc.addElement(dist);
- if(desc.isPersited()){
+ if(desc.isPersisted()){
editor.part.getCdmEntitySession().load(desc, true);
}
distributions.add(dist);