From: Katja Luther Date: Tue, 13 Oct 2015 10:47:39 +0000 (+0200) Subject: fixing #5324 and #5325 X-Git-Tag: 3.12.0^2~93 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/fd602c14937bb3ae2aee9ddb9cfeab97a2900101?ds=sidebyside fixing #5324 and #5325 --- diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java index 585aab3fa..f9051e871 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java @@ -647,8 +647,8 @@ public class TransientClassificationService implements IClassificationService { * @see eu.etaxonomy.cdm.api.service.IClassificationService#getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(eu.etaxonomy.cdm.model.taxon.Classification) */ @Override - public List> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(Classification classification) { - return defaultService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classification); + public List> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(Classification classification, List excludeTaxa) { + return defaultService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classification, excludeTaxa); } /** diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/MoveDescriptionElementsHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/MoveDescriptionElementsHandler.java index fb450935f..459cd29bb 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/MoveDescriptionElementsHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/MoveDescriptionElementsHandler.java @@ -94,16 +94,19 @@ public class MoveDescriptionElementsHandler extends AbstractHandler implements I excludeTaxa.add(actualTaxon.getUuid()); } Classification classification = null; + TaxonNode actualNode = null; if (actualTaxon != null){ if (!actualTaxon.getTaxonNodes().isEmpty() && actualTaxon.getTaxonNodes().size() ==1){ - classification = actualTaxon.getTaxonNodes().iterator().next().getClassification(); + actualNode = actualTaxon.getTaxonNodes().iterator().next(); + classification = actualNode.getClassification(); + } } TaxonNode newAcceptedTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), editor.getConversationHolder(), "Choose the accepted taxon", excludeTaxa, - null,classification + null, classification ); if (newAcceptedTaxonNode != null){ Taxon targetTaxon = newAcceptedTaxonNode.getTaxon(); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java index 8bfa50dd6..fba0ce6c3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java @@ -91,7 +91,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog classifications; private Classification selectedClassification; + private final List excludeTaxa; protected TaxonNodeSelectionDialog(Shell shell, ConversationHolder conversation, String title, List excludeTaxa, boolean multi, TaxonNode node, Classification classification) { super(shell, conversation, title, multi, TaxonNodeSelectionDialog.class.getCanonicalName(), node); @@ -57,10 +58,11 @@ public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelecti setListLabelProvider(labelProvider); setDetailsLabelProvider(labelProvider); - + this.excludeTaxa = excludeTaxa; if(classification != null){ selectedClassification = classification; } + initModel(); } /** {@inheritDoc} */ @@ -134,10 +136,14 @@ public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelecti return o1.getTitleCache().compareTo(o2.getTitleCache()); } }); - selectedClassification = classifications.iterator().next(); + if (this.cdmBaseToBeFiltered == null){ + selectedClassification = classifications.iterator().next(); + } else { + selectedClassification = this.cdmBaseToBeFiltered.getClassification(); + } } - model = CdmStore.getService(IClassificationService.class).getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification); + model = CdmStore.getService(IClassificationService.class).getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification, excludeTaxa); } /** {@inheritDoc} */