import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.api.service.IWorkingSetService;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.name.Rank;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
composite.getTxt_label().addModifyListener(labelModifyListener);
}
- public void addTaxonNode(TaxonNode taxonNode){
- //load into WS editor session
- taxonNode = getCdmEntitySession().load(taxonNode, false);
+ public void addTaxonNode(TaxonNodeDto taxonNodeDto){
+ TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(taxonNodeDto.getUuid());
+ //check if node belongs to same classification
+ Set<TaxonNode> taxonSubtreeFilter = workingSet.getTaxonSubtreeFilter();
+ if(taxonSubtreeFilter!=null && !taxonSubtreeFilter.isEmpty()){
+ if(!taxonSubtreeFilter.iterator().next().getClassification().equals(taxonNode.getClassification())){
+ MessagingUtils.warningDialog(Messages.TaxonNodeDropAdapter_CLASSIFICATIONS_NO_MATCH, this.getClass(),
+ Messages.TaxonNodeDropAdapter_CLASSIFICATIONS_NO_MATCH_MESSAGE);
+ }
+
+ }
Viewer taxonTreeViewer = getTaxonTreeViewer();
Object input = taxonTreeViewer.getInput();
Collection<TaxonNode> treeNodes;