Revision 86bbdab9
Added by Katja Luther over 4 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/character/CharacterEditor.java | ||
---|---|---|
59 | 59 |
import eu.etaxonomy.cdm.api.service.IFeatureNodeService; |
60 | 60 |
import eu.etaxonomy.cdm.api.service.ITermTreeService; |
61 | 61 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
62 |
import eu.etaxonomy.cdm.api.service.UpdateResult; |
|
62 | 63 |
import eu.etaxonomy.cdm.model.description.Character; |
63 | 64 |
import eu.etaxonomy.cdm.model.description.Feature; |
64 | 65 |
import eu.etaxonomy.cdm.model.term.DefinedTerm; |
... | ... | |
233 | 234 |
TermNode<Character> parent = ((TermTree<Character>) characterTreeEditorComposite.getViewer().getInput()).getRoot(); |
234 | 235 |
for (Character character : characters) { |
235 | 236 |
//add new Character to feature tree |
236 |
CdmStore.getService(IFeatureNodeService.class).createChildFeatureNode(parent.getUuid(), character, vocabulary.getUuid()); |
|
237 |
UpdateResult result = CdmStore.getService(IFeatureNodeService.class).createChildFeatureNode(parent.getUuid(), character, vocabulary.getUuid()); |
|
238 |
cdmEntitySession.load(result, true); |
|
237 | 239 |
} |
238 | 240 |
refresh(); |
239 | 241 |
} |
... | ... | |
321 | 323 |
TermNode<DefinedTerm> propertyNode = propertiesIterator.next(); |
322 | 324 |
Character character = CharacterTransfer.createCharacter(structureNode, propertyNode); |
323 | 325 |
characters.add(character); |
326 |
|
|
324 | 327 |
} |
325 | 328 |
} |
326 | 329 |
return characters; |
... | ... | |
335 | 338 |
|
336 | 339 |
TermTree<Character> featureTree = characterTreeEditorComposite.getFeatureTree(); |
337 | 340 |
|
338 |
CdmStore.getService(ITermTreeService.class).merge(featureTree); |
|
341 |
CdmStore.getService(ITermTreeService.class).merge(featureTree, true);
|
|
339 | 342 |
|
340 | 343 |
// commit the conversation and start a new transaction immediately |
341 | 344 |
conversation.commit(true); |
... | ... | |
349 | 352 |
Object[] expandedElements = characterTreeEditorComposite.getViewer().getExpandedElements(); |
350 | 353 |
characterTreeEditorComposite.getViewer().getTree().removeAll(); |
351 | 354 |
TermTree tree = (TermTree) characterTreeEditorComposite.getViewer().getInput(); |
355 |
cdmEntitySession.load(tree, true); |
|
352 | 356 |
characterTreeEditorComposite.getViewer().setInput(tree); |
353 | 357 |
characterTreeEditorComposite.getViewer().setExpandedElements(expandedElements); |
354 | 358 |
} |
... | ... | |
398 | 402 |
@Override |
399 | 403 |
public List<TermTree<Character>> getRootEntities() { |
400 | 404 |
List<TermTree<Character>> root = new ArrayList<>(); |
405 |
cdmEntitySession.load(characterTreeEditorComposite.getFeatureTree(), true); |
|
401 | 406 |
root.add(characterTreeEditorComposite.getFeatureTree()); |
402 | 407 |
return root; |
403 | 408 |
} |
... | ... | |
467 | 472 |
public void widgetSelected(SelectionEvent e) { |
468 | 473 |
TermTree tree = FeatureTreeSelectionDialog.select(featureTreeEditorComposite.getDisplay().getActiveShell(), null, termType); |
469 | 474 |
if(tree!=null){ |
475 |
// cdmEntitySession.load(tree, true); |
|
470 | 476 |
featureTreeEditorComposite.setSelectedTree(tree); |
471 | 477 |
} |
472 | 478 |
} |
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixBottomToolbar.java | ||
---|---|---|
22 | 22 |
import org.eclipse.core.runtime.jobs.Job; |
23 | 23 |
import org.eclipse.core.runtime.jobs.JobChangeAdapter; |
24 | 24 |
import org.eclipse.jface.layout.GridDataFactory; |
25 |
import org.eclipse.jface.viewers.IStructuredSelection; |
|
25 | 26 |
import org.eclipse.jface.window.Window; |
27 |
import org.eclipse.jface.wizard.WizardDialog; |
|
26 | 28 |
import org.eclipse.swt.SWT; |
27 | 29 |
import org.eclipse.swt.events.SelectionAdapter; |
28 | 30 |
import org.eclipse.swt.events.SelectionEvent; |
... | ... | |
51 | 53 |
import eu.etaxonomy.taxeditor.model.MessagingUtils; |
52 | 54 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
53 | 55 |
import eu.etaxonomy.taxeditor.store.StoreUtil; |
56 |
import eu.etaxonomy.taxeditor.ui.dialog.configurator.StructuredAggregationConfigurationWizard; |
|
54 | 57 |
import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonSelectionDialog; |
55 | 58 |
|
56 | 59 |
/** |
... | ... | |
183 | 186 |
// FIXME: set taxon node filter for config (this is still not used in the aggregation) |
184 | 187 |
StructuredDescriptionAggregationConfiguration config = StructuredDescriptionAggregationConfiguration.NewInstance( |
185 | 188 |
null, null); |
186 |
config.setDatasetUuid(matrix.getDescriptiveDataSet().getUuid()); |
|
187 |
config.setAggregateToHigherRanks(true); |
|
188 |
config.setAggregationMode(AggregationMode.byAreasAndRanks()); |
|
189 |
config.setAdaptBatchSize(false); |
|
190 |
|
|
189 |
IStructuredSelection sel = matrix.getSelection(); |
|
190 |
Object o = sel.getFirstElement(); |
|
191 | 191 |
TaxonNodeFilter filter = TaxonNodeFilter.NewRankInstance(matrix.getDescriptiveDataSet().getMinRank(), |
192 | 192 |
matrix.getDescriptiveDataSet().getMaxRank()); |
193 | 193 |
for (NamedArea namedArea : matrix.getDescriptiveDataSet().getGeoFilter()) { |
194 | 194 |
filter = filter.orArea(namedArea.getUuid()); |
195 | 195 |
} |
196 |
for (TaxonNode taxonNode : matrix.getDescriptiveDataSet().getTaxonSubtreeFilter()) { |
|
197 |
filter = filter.orSubtree(taxonNode); |
|
196 |
// for (TaxonNode taxonNode : matrix.getDescriptiveDataSet().getTaxonSubtreeFilter()) { |
|
197 |
// filter = filter.orSubtree(taxonNode); |
|
198 |
// } |
|
199 |
|
|
200 |
if (o instanceof TaxonNodeDto){ |
|
201 |
filter = filter.orSubtree(CdmStore.getService(ITaxonNodeService.class).load(((TaxonNodeDto)o).getUuid())); |
|
202 |
}else{ |
|
203 |
for (TaxonNode taxonNode : matrix.getDescriptiveDataSet().getTaxonSubtreeFilter()) { |
|
204 |
filter = filter.orSubtree(taxonNode); |
|
205 |
} |
|
198 | 206 |
} |
199 | 207 |
config.setTaxonNodeFilter(filter); |
200 | 208 |
|
209 |
config.setDatasetUuid(matrix.getDescriptiveDataSet().getUuid()); |
|
210 |
config.setAggregateToHigherRanks(true); |
|
211 |
config.setAggregationMode(AggregationMode.byAreasAndRanks()); |
|
212 |
config.setAdaptBatchSize(false); |
|
213 |
StructuredAggregationConfigurationWizard aggregationWizard = new StructuredAggregationConfigurationWizard(config, this.matrix.getDescriptiveDataSet()); |
|
214 |
WizardDialog dialog = new WizardDialog(StoreUtil.getShell(), |
|
215 |
aggregationWizard); |
|
216 |
|
|
217 |
int open = dialog.open(); |
|
218 |
if (open != Window.OK){ |
|
219 |
return; |
|
220 |
} |
|
201 | 221 |
UUID monitorUuid = CdmApplicationState.getLongRunningTasksService().invoke(config); |
202 | 222 |
|
203 | 223 |
String jobLabel = "Aggregate Descriptive Data Set"; |
Also available in: Unified diff
ref #7981: add aggregation wizard to character matrix