import eu.etaxonomy.cdm.api.service.IDescriptiveDataSetService;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
+import eu.etaxonomy.cdm.api.service.description.DescriptionAggregationConfigurationBase.AggregationMode;
import eu.etaxonomy.cdm.api.service.description.StructuredDescriptionAggregationConfiguration;
import eu.etaxonomy.cdm.api.service.dto.RowWrapperDTO;
import eu.etaxonomy.cdm.api.service.dto.SpecimenRowWrapperDTO;
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
+import eu.etaxonomy.cdm.filter.TaxonNodeFilter;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.QuantitativeData;
import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.persistence.dto.SpecimenNodeWrapper;
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
null, null);
config.setDatasetUuid(matrix.getDescriptiveDataSet().getUuid());
config.setAggregateToHigherRanks(true);
+ config.setAggregationMode(AggregationMode.byAreasAndRanks());
+ TaxonNodeFilter filter = TaxonNodeFilter.NewInstance();
+ Set<TaxonNode> taxonSubtreeFilter = matrix.getDescriptiveDataSet().getTaxonSubtreeFilter();
+ for (TaxonNode taxonNode : taxonSubtreeFilter) {
+ filter = filter.orSubtree(taxonNode);
+ }
+ config.setTaxonNodeFilter(filter);
+
UUID monitorUuid = CdmApplicationState.getLongRunningTasksService().invoke(config);
String jobLabel = "Aggregate Descriptive Data Set";