ref #7875 Do not save grayed values
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / descriptiveDataSet / DescriptiveDataSetComposite.java
index 58810580ce46788171d38956800923aa173a59ea..f10451d504045530944ad8983d2ea1968b385396 100644 (file)
@@ -8,6 +8,10 @@
  */
 package eu.etaxonomy.taxeditor.editor.descriptiveDataSet;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -20,8 +24,9 @@ import org.eclipse.swt.widgets.Tree;
 
 import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
-import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.name.Rank;
+import eu.etaxonomy.cdm.persistence.dto.TermDto;
+import eu.etaxonomy.cdm.remote.l10n.TermRepresentation_L10n;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
 import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeEditorComposite;
 import eu.etaxonomy.taxeditor.model.ImageResources;
@@ -40,10 +45,9 @@ public class DescriptiveDataSetComposite extends Composite {
     private TermUuidComboViewer comboRankMax;
     private FeatureTreeEditorComposite featureTreeEditorComposite;
     private TreeViewer taxonNodeTree;
-    private NamedArea area;
+    private List<TermDto> areas = new ArrayList<>();
     private Text textAreaText;
     private Button btnChooseArea;
-    private Button btnRemoveArea;
     private Button btnRemoveRankMin;
     private Button btnRemoveRankMax;
 
@@ -115,7 +119,7 @@ public class DescriptiveDataSetComposite extends Composite {
 
         Composite composite = new Composite(this, SWT.NONE);
         composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
-        GridLayout gl_composite = new GridLayout(3, false);
+        GridLayout gl_composite = new GridLayout(2, false);
         gl_composite.horizontalSpacing = 0;
         gl_composite.verticalSpacing = 0;
         gl_composite.marginHeight = 0;
@@ -130,9 +134,6 @@ public class DescriptiveDataSetComposite extends Composite {
         btnChooseArea = new Button(composite, SWT.NONE);
         btnChooseArea.setImage(ImageResources.getImage(ImageResources.BROWSE_ICON));
 
-        btnRemoveArea = new Button(composite, SWT.NONE);
-        btnRemoveArea.setImage(ImageResources.getImage(ImageResources.TRASH_ICON));
-
         featureTreeEditorComposite = new FeatureTreeEditorComposite(this, SWT.NONE);
         featureTreeEditorComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
     }
@@ -173,24 +174,19 @@ public class DescriptiveDataSetComposite extends Composite {
     public TreeViewer getTaxonNodeTree() {
         return taxonNodeTree;
     }
-
-    public NamedArea getArea(){
-        return area;
+    public List<TermDto> getAreas() {
+        return areas;
     }
-    public void setArea(NamedArea area) {
-        this.area = area;
-        textAreaText.setText(area.getLabel());
-    }
-    public void removeArea() {
-        this.area = null;
-        textAreaText.setText(""); //$NON-NLS-1$
+    public void setAreas(List<TermDto> areas) {
+        this.areas = areas;
+        textAreaText.setText(areas.stream().map(area->{
+            area.localize(new TermRepresentation_L10n());
+            return area.getRepresentation_L10n();
+        }).collect(Collectors.joining(", ")));
     }
     public Button getBtnChooseArea() {
         return btnChooseArea;
     }
-    public Button getBtnRemoveArea() {
-        return btnRemoveArea;
-    }
     public Button getBtnRemoveRankMin() {
         return btnRemoveRankMin;
     }