TaxonNode parentNode = (TaxonNode) HibernateProxyHelper.deproxy(((TaxonEditorInput) input).getTaxonNode().getParent());
List<UUID> excludeTaxa = new ArrayList<UUID>();
- //excludeTaxa.add(taxon.getUuid());//there are some cases where the accepted taxon should be the parent of the new created accepted taxon
+ excludeTaxa.add(taxon.getUuid());
- TaxonNode newParentNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), editor.getConversationHolder(), "Select parent", null, null, ((TaxonEditorInput) input).getTaxonNode().getClassification());
+ TaxonNode newParentNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), editor.getConversationHolder(), "Select parent", excludeTaxa, null, ((TaxonEditorInput) input).getTaxonNode().getClassification());
if(newParentNode != null){
private static final String CONCEPT = "isConceptRelation";
private static final String EMPTY_NAMES = "hasEmptyNames";
private static final String ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS = "isAcceptedAndHasNoHomotypicSynonyms";
- private static final String NOT_HOMOTYPIC_SYNONYM_OF_ACCEPTED = "isNotHomotypicSynonymOfAcceptedTaxon";
-
/**
* <p>Constructor for NameEditorMenuPropertyTester.</p>
}
else if(ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS.equals(property)){
return isAcceptedAndHasNoHomotypicSynonyms(selectedElement);
- }else if (NOT_HOMOTYPIC_SYNONYM_OF_ACCEPTED.equals(property)){
- return isNotHomotypicSynonymOfAcceptedTaxon(selectedElement);
}
-
}
return false;
}
return false;
}
-
- private boolean isNotHomotypicSynonymOfAcceptedTaxon(Object selectedElement) {
- if (isSynonym(selectedElement)){
- Synonym synonym = (Synonym) selectedElement;
- for (Taxon taxon:synonym.getAcceptedTaxa()){
- if (taxon.getHomotypicGroup().equals(synonym.getHomotypicGroup())){
- return false;
- }
- }
- }
- return true;
- }
-
/**
* @param receiver
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.Taxon;
getConversationHolder().bind();
ITaxonTreeNode parent = getParentTreeNode();
Taxon taxon = taxonNodePage.getTaxon();
- Reference sec = taxon.getSec();
- taxon.setSec(null);
try{
UpdateResult result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parent.getUuid(), taxon, parent.getReference(), parent.getMicroReference());
}*/
generatedTaxonNodeUuid = result.getCdmEntity().getUuid();
TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(generatedTaxonNodeUuid);
- taxonNode.getTaxon().setSec(sec);
- CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
+
Set<CdmBase> affectedObjects = new HashSet<CdmBase>();
if (result.getUpdatedObjects().iterator().hasNext()){
TaxonNode parentNode = (TaxonNode)result.getUpdatedObjects().iterator().next();
}
}
}
-
}
}
}
private void setTaxon(TaxonNameBase taxonName) {
Reference secundum = null;
if (getParentTreeNode() != null) {
- if (this.selection_SecRef.getEntity() != null){
- secundum = this.selection_SecRef.getEntity();
+ if (this.secReference != null){
+ secundum = this.secReference;
} /*else if (getParentTreeNode() instanceof Classification) {
secundum = ((Classification) getParentTreeNode())
.getReference();
import java.util.Observer;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
/** {@inheritDoc} */
@Override
public void widgetSelected(SelectionEvent e) {
- if (StoreUtil.getActiveEditor().isDirty()){
- MessageDialog.openInformation(null,"Save changes", "You have made changes that must be saved before this query can be executed");
- return;
- }
WizardDialog dialog = new WizardDialog(selectionElement.getShell(),
new EditFromSelectionWizard(selectionElement));
if (dialog.open() == IStatus.OK) {