use uuid of namedAreas in propertyToLabelMap of distr editor
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / checklist / e4 / DistributionEditor.java
index 791d048d6cdc55731dc05a6ee93cce1c006ce84a..875bdeb00debfc55357c2372ca6310828520286f 100755 (executable)
@@ -75,25 +75,24 @@ import ca.odell.glazedlists.EventList;
 import eu.etaxonomy.cdm.api.service.IVocabularyService;
 import eu.etaxonomy.cdm.api.service.dto.TaxonDescriptionDTO;
 import eu.etaxonomy.cdm.api.service.dto.TaxonDistributionDTO;
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.OrderedTermBase;
-import eu.etaxonomy.cdm.model.common.OrderedTermComparator;
-import eu.etaxonomy.cdm.model.common.Representation;
-import eu.etaxonomy.cdm.model.common.TermIdInVocabularyComparator;
-import eu.etaxonomy.cdm.model.common.TermLanguageComparator;
-import eu.etaxonomy.cdm.model.common.TermType;
-import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 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.PreferencePredicate;
 import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.OrderedTermBase;
+import eu.etaxonomy.cdm.model.term.OrderedTermComparator;
+import eu.etaxonomy.cdm.model.term.Representation;
+import eu.etaxonomy.cdm.model.term.TermIdInVocabularyComparator;
+import eu.etaxonomy.cdm.model.term.TermLanguageComparator;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.model.term.TermVocabulary;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.preference.EditorPreferencePredicate;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.Resources;
 import eu.etaxonomy.taxeditor.preference.TermOrder;
@@ -163,7 +162,7 @@ public class DistributionEditor extends Composite {
      */
     public DistributionEditor(Composite parent, DistributionEditorPart part) {
         super(parent, SWT.NULL);
-        isShowRank = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowRankInDistributionEditor.getKey());
+        isShowRank = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowRankInDistributionEditor.getKey());
         this.part = part;
         this.setLayout(new GridLayout());
         GridLayoutFactory.fillDefaults().applyTo(parent);
@@ -611,7 +610,7 @@ public class DistributionEditor extends Composite {
 
 
             //String areaLabel = area.getLabel();
-            String property = areaLabel;
+            String property = area.getUuid().toString();
             propertyToLabelMap.put(property, areaLabel);
         }
 
@@ -620,7 +619,7 @@ public class DistributionEditor extends Composite {
     private SortedSet<DefinedTermBase> loadNamedAreas() {
         //IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
 
-        String valuesAreas = PreferencesUtil.getStringValue(EditorPreferencePredicate.AvailableDistributionAreaTerms.getKey());
+        String valuesAreas = PreferencesUtil.getStringValue(PreferencePredicate.AvailableDistributionAreaTerms.getKey(), true);
         String values = PreferencesUtil.getStringValue(PreferencePredicate.AvailableDistributionAreaVocabularies.getKey());
         Set<UUID> uuidList = new HashSet<UUID>();
         String[] split;
@@ -647,18 +646,25 @@ public class DistributionEditor extends Composite {
         }else{
             vocs= service.find(uuidList);
         }
-        split = valuesAreas.split(";"); //$NON-NLS-1$
-        listValue = Arrays.asList(split);
         for (TermVocabulary voc: vocs){
             termlist.addAll(service.getTerms(voc, null, null, null, null).getRecords());
         }
         List<DefinedTermBase> filteredList = new ArrayList();
-        for (DefinedTermBase area: termlist){
-            if (listValue.contains(area.getUuid().toString())) {
-                filteredList.add(area);
-            }
+        if (valuesAreas != null && valuesAreas != "") {
+            split = valuesAreas.split(";"); //$NON-NLS-1$
+            listValue = Arrays.asList(split);
+
+            for (DefinedTermBase area: termlist){
+                if (listValue.contains(area.getUuid().toString())) {
+                    filteredList.add(area);
+                }
 
+            }
+        }else{
+            filteredList.addAll(termlist);
         }
+
+
         String sortOrder = PreferencesUtil.getSortNamedAreasInDistributionEditor();
         if (sortOrder.equals(TermOrder.Natural.getKey())){
             areas =  getTermsOrderedByVocabularyOrder(filteredList);