revert changes in CharacterMatrix
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / descriptiveDataSet / DescriptiveDataSetEditor.java
index d4b4a9dab8ee97b742b90f5d4f18b419cf5feea7..40cb2d2558d6d9b17fb1827451cd9642a9985535 100644 (file)
@@ -156,7 +156,7 @@ IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable {
             public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
                 AreasSelectionDialog areasSelectionDialog = new AreasSelectionDialog(composite.getShell(), composite.getAreas());
                 if(areasSelectionDialog.open()==Window.OK){
-                    Set<TermDto> selectedAreas = areasSelectionDialog.getSelectedAreas();
+                    List<TermDto> selectedAreas = areasSelectionDialog.getSelectedAreas();
                     if(selectedAreas!=null){
                         composite.setAreas(selectedAreas);
                         dirty.setDirty(true);
@@ -204,13 +204,8 @@ IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable {
         }
         Set<NamedArea> geoFilter = descriptiveDataSet.getGeoFilter();
         if(geoFilter!=null && !geoFilter.isEmpty()){
-            Set<TermDto> terms = geoFilter.stream().map(filter->new TermDto(
-                    filter.getUuid(),
-                    filter.getRepresentations(),
-                    filter.getPartOf()!=null?filter.getPartOf().getUuid():null,
-                    filter.getVocabulary().getUuid(),
-                    filter.getOrderIndex())).collect(Collectors.toSet());
-            composite.setAreas(terms);
+            Set<TermDto> terms = geoFilter.stream().map(filter->TermDto.fromTerm(filter, true)).collect(Collectors.toSet());
+            composite.setAreas(new ArrayList<>(terms));
         }
         Set<TaxonNode> taxonSubtreeFilter = descriptiveDataSet.getTaxonSubtreeFilter();
         if(taxonSubtreeFilter!=null){
@@ -274,7 +269,7 @@ IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable {
     @Persist
     @Override
     public void save(IProgressMonitor monitor) {
-        Set<TermDto> areas = composite.getAreas();
+        Collection<TermDto> areas = composite.getAreas();
         Object input = composite.getTaxonNodeTree().getInput();
         if(input!=null){
             descriptiveDataSet.setTaxonSubtreeFilter(new HashSet<>());//clear existing filter
@@ -319,6 +314,11 @@ IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable {
         dirty.setDirty(false);
     }
 
+    @Override
+    public boolean isDirty() {
+        return dirty.isDirty();
+    }
+
     @PreDestroy
     public void dispose() {
         if (conversation != null) {