Revision f8c40685
Added by Katja Luther almost 4 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/handler/AggregationHandler.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.handler; |
10 | 10 |
|
11 |
import java.util.ArrayList; |
|
12 |
import java.util.Iterator; |
|
11 | 13 |
import java.util.List; |
12 | 14 |
import java.util.UUID; |
13 | 15 |
|
... | ... | |
28 | 30 |
import org.eclipse.jface.wizard.WizardDialog; |
29 | 31 |
|
30 | 32 |
import eu.etaxonomy.cdm.api.application.CdmApplicationState; |
31 |
import eu.etaxonomy.cdm.api.service.ITaxonNodeService; |
|
32 | 33 |
import eu.etaxonomy.cdm.api.service.UpdateResult; |
33 | 34 |
import eu.etaxonomy.cdm.api.service.description.AggregationMode; |
34 | 35 |
import eu.etaxonomy.cdm.api.service.description.StructuredDescriptionAggregationConfiguration; |
... | ... | |
63 | 64 |
StructuredDescriptionAggregationConfiguration config = StructuredDescriptionAggregationConfiguration.NewInstance( |
64 | 65 |
null, null); |
65 | 66 |
IStructuredSelection sel = matrix.getSelection(); |
66 |
Object o = sel.getFirstElement(); |
|
67 |
// Object o = sel.getFirstElement(); |
|
68 |
List<TaxonNodeDto> nodeDtos = new ArrayList<>(); |
|
69 |
Iterator iterator = sel.iterator(); |
|
70 |
while (iterator.hasNext()){ |
|
71 |
Object o = iterator.next(); |
|
72 |
if (o instanceof TaxonNodeDto){ |
|
73 |
nodeDtos.add((TaxonNodeDto)o); |
|
74 |
} |
|
75 |
} |
|
67 | 76 |
TaxonNodeFilter filter = TaxonNodeFilter.NewRankInstance(matrix.getDescriptiveDataSet().getMinRank(), |
68 | 77 |
matrix.getDescriptiveDataSet().getMaxRank()); |
69 | 78 |
for (NamedArea namedArea : matrix.getDescriptiveDataSet().getGeoFilter()) { |
... | ... | |
71 | 80 |
} |
72 | 81 |
|
73 | 82 |
|
74 |
if (o instanceof TaxonNodeDto){ |
|
75 |
filter = filter.orSubtree(CdmStore.getService(ITaxonNodeService.class).load(((TaxonNodeDto)o).getUuid())); |
|
83 |
if (!nodeDtos.isEmpty()){ |
|
84 |
for (TaxonNodeDto dto: nodeDtos){ |
|
85 |
filter = filter.orSubtree(dto.getUuid()); |
|
86 |
} |
|
76 | 87 |
}else{ |
77 | 88 |
for (TaxonNode taxonNode : matrix.getDescriptiveDataSet().getTaxonSubtreeFilter()) { |
78 | 89 |
filter = filter.orSubtree(taxonNode); |
... | ... | |
84 | 95 |
config.setAggregateToHigherRanks(true); |
85 | 96 |
config.setAggregationMode(AggregationMode.byAreasAndRanks()); |
86 | 97 |
config.setAdaptBatchSize(false); |
87 |
StructuredAggregationConfigurationWizard aggregationWizard = new StructuredAggregationConfigurationWizard(config, matrix.getDescriptiveDataSet()); |
|
98 |
TaxonNodeDto node = null; |
|
99 |
|
|
100 |
StructuredAggregationConfigurationWizard aggregationWizard = new StructuredAggregationConfigurationWizard(config, matrix.getDescriptiveDataSet(), nodeDtos); |
|
88 | 101 |
WizardDialog dialog = new WizardDialog(StoreUtil.getShell(), |
89 | 102 |
aggregationWizard); |
90 | 103 |
|
Also available in: Unified diff
ref #8785: adapt aggregation wizard, add aggregation to context mennu