import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
+import eu.etaxonomy.cdm.api.service.config.FindOccurrencesConfigurator;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
@Override
protected void open(ExecutionEvent event, TaxonNode entity) {
- List<SpecimenOrObservationBase> specimens = CdmStore.getService(IOccurrenceService.class).listByAssociatedTaxon(SpecimenOrObservationBase.class, null, entity.getTaxon(), null, null, null, null, null);
+ FindOccurrencesConfigurator config = new FindOccurrencesConfigurator();
+ UUID taxonUuid = entity.getTaxon().getUuid();
+ config.setAssociatedTaxonUuid(taxonUuid);
+ List<SpecimenOrObservationBase> specimens = CdmStore.getService(IOccurrenceService.class).findByTitle(config).getRecords();
Collection<UUID> specimenUuids = new ArrayList<UUID>();
for (SpecimenOrObservationBase specimenOrObservationBase : specimens) {
specimenUuids.add(specimenOrObservationBase.getUuid());
}
try {
- EditorUtil.open(new DerivateViewEditorInput(specimenUuids));
+ EditorUtil.open(new DerivateViewEditorInput(specimenUuids, taxonUuid));
} catch (PartInitException e) {
MessagingUtils.error(OpenDerivateViewHandler.class, "Derivative Editor could not be opened", e);
}