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);
}
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){
@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
dirty.setDirty(false);
}
+ @Override
+ public boolean isDirty() {
+ return dirty.isDirty();
+ }
+
@PreDestroy
public void dispose() {
if (conversation != null) {