import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor;
-import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistLabelProvider;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
public final class DistributionEditingSupport extends EditingSupport {
Taxon taxon = (Taxon) element;
Distribution distributionForColumn = getDistributionForColumn(taxon);
if (distributionForColumn != null) {
- distributionForColumn.getStatus().getTitleCache();
+ return distributionForColumn.getStatus().getTitleCache();
}
// return PresenceAbsenceTerms
}
createDistributionForColumn(taxon, occurenceStatus);
}
// viewer.update(distribution, null);
- viewer.update(element, null);
- viewer.refresh();
- editor.setDirty(true);
+// viewer.update(element, null);
+// viewer.refresh();
+// editor.setDirty(true);
editor.changed(element);
viewer.refresh();
}
for (DescriptionElementBase deb : td.getElements()) {
if (deb instanceof Distribution) {
Distribution distribution = (Distribution) deb;
- if (column.getText().equalsIgnoreCase(distribution.getArea().getTitleCache())) {
- return distribution;
+ if (distribution.getArea() != null){
+ if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ if (column.getText().equalsIgnoreCase(distribution.getArea().getIdInVocabulary())) {
+ return distribution;
+ }
+ }else{
+ if (column.getText().equalsIgnoreCase(distribution.getArea().getTitleCache())) {
+ return distribution;
+ }
+ }
}
}
}
private void createDistributionForColumn(Taxon taxon, PresenceAbsenceTerm occurenceStatus) {
TableColumn column = viewer.getTable().getColumn(columnIndex);
- ChecklistLabelProvider labelProvider = new ChecklistLabelProvider();
- List<DefinedTermBase<?>> namedAreas = labelProvider.getNamedAreas();
- SortedSet<DefinedTermBase<?>> terms = (SortedSet<DefinedTermBase<?>>) labelProvider.getTermsOrderedByLabels(
- namedAreas, CdmStore.getDefaultLanguage());
+ SortedSet<DefinedTermBase> namedAreas = this.editor.getLabelProvider().getNamedAreas();
- if (terms != null) {
- for (DefinedTermBase term : terms) {
- if (column.getText().equalsIgnoreCase(term.getTitleCache())) {
+
+ if (namedAreas != null) {
+ for (DefinedTermBase term : namedAreas) {
+ boolean sameArea = true;
+ if (!PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ sameArea = column.getText().equalsIgnoreCase(term.getTitleCache());
+ } else{
+ sameArea = column.getText().equalsIgnoreCase(term.getIdInVocabulary());
+ }
+ if (sameArea) {
NamedArea area = (NamedArea) term;
Distribution distribution = Distribution.NewInstance(area, occurenceStatus);
Set<TaxonDescription> descriptions = taxon.getDescriptions();
- if (descriptions != null) {
+ if (!descriptions.isEmpty()) {
for (TaxonDescription desc : descriptions) {
// add to first taxon description
desc.addElement(distribution);
} else {// there are no TaxonDescription yet.
TaxonDescription td = TaxonDescription.NewInstance(taxon);
td.addElement(distribution);
+ break;
}
}
}