From: jenkins Date: Wed, 10 Feb 2016 15:11:46 +0000 (+0100) Subject: Merge branch 'hotfix/3.12.3' X-Git-Tag: 3.12.3 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/c3534474806e6672fae20f571da1fa76d71badde?hp=88e477a453f8a227f9735ef1a60f42440ce02412 Merge branch 'hotfix/3.12.3' --- diff --git a/eu.etaxonomy.taxeditor.cdmlib/.classpath b/eu.etaxonomy.taxeditor.cdmlib/.classpath index bfffeca41..474129378 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/.classpath +++ b/eu.etaxonomy.taxeditor.cdmlib/.classpath @@ -1,5 +1,13 @@ + + + + + + + + @@ -189,13 +197,5 @@ - - - - - - - - diff --git a/eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF index 25237c677..90dd13f26 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF @@ -659,12 +659,12 @@ Bundle-ClassPath: ., lib/poi-ooxml-schemas-3.10-FINAL.jar, lib/swagger-annotations-1.3.5.jar, lib/apache-log4j-extras-1.2.17.jar, - lib/cdmlib-commons-3.12.2.jar, - lib/cdmlib-ext-3.12.2.jar, - lib/cdmlib-io-3.12.2.jar, - lib/cdmlib-model-3.12.2.jar, - lib/cdmlib-persistence-3.12.2.jar, - lib/cdmlib-print-3.12.2.jar, - lib/cdmlib-remote-3.12.2.jar, - lib/cdmlib-services-3.12.2.jar + lib/cdmlib-commons-3.12.3.jar, + lib/cdmlib-ext-3.12.3.jar, + lib/cdmlib-io-3.12.3.jar, + lib/cdmlib-model-3.12.3.jar, + lib/cdmlib-persistence-3.12.3.jar, + lib/cdmlib-print-3.12.3.jar, + lib/cdmlib-remote-3.12.3.jar, + lib/cdmlib-services-3.12.3.jar Import-Package: eu.etaxonomy.cdm.api.application diff --git a/eu.etaxonomy.taxeditor.cdmlib/build.properties b/eu.etaxonomy.taxeditor.cdmlib/build.properties index 1510adfaf..28ae35ef7 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/build.properties +++ b/eu.etaxonomy.taxeditor.cdmlib/build.properties @@ -185,16 +185,16 @@ bin.includes = META-INF/,\ lib/poi-ooxml-schemas-3.10-FINAL.jar,\ lib/xmlbeans-2.3.0.jar,\ lib/swagger-annotations-1.3.5.jar,\ - lib/cdmlib-commons-3.12.2.jar,\ - lib/cdmlib-ext-3.12.2.jar,\ - lib/cdmlib-io-3.12.2.jar,\ - lib/cdmlib-model-3.12.2.jar,\ - lib/cdmlib-persistence-3.12.2.jar,\ - lib/cdmlib-print-3.12.2.jar,\ - lib/cdmlib-remote-3.12.2.jar,\ - lib/cdmlib-services-3.12.2.jar,\ lib/apache-log4j-extras-1.2.17.jar,\ - resources/cdm.map.ser + resources/cdm.map.ser,\ + lib/cdmlib-commons-3.12.3.jar,\ + lib/cdmlib-ext-3.12.3.jar,\ + lib/cdmlib-io-3.12.3.jar,\ + lib/cdmlib-model-3.12.3.jar,\ + lib/cdmlib-persistence-3.12.3.jar,\ + lib/cdmlib-print-3.12.3.jar,\ + lib/cdmlib-remote-3.12.3.jar,\ + lib/cdmlib-services-3.12.3.jar jars.compile.order = . output.. = bin/ diff --git a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java index 288b20eb1..977e85389 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java +++ b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Component; import eu.etaxonomy.cdm.api.application.CdmApplicationState; import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermBase; import eu.etaxonomy.taxeditor.remoting.cache.CacheLoader; import eu.etaxonomy.taxeditor.remoting.cache.CdmEntityCacheKey; import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher; @@ -79,7 +80,8 @@ public class CdmServiceCacher extends CdmCacher implements ICdmEntitySessionMan */ @Override public boolean isCachable(CdmBase cdmEntity) { - if(cdmEntity != null && cdmEntity instanceof DefinedTermBase) { + // if(cdmEntity != null && cdmEntity instanceof DefinedTermBase) { + if(cdmEntity != null && cdmEntity instanceof TermBase) { return true; } return false; diff --git a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java index ccea9a894..010e7ba67 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java +++ b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java @@ -382,7 +382,7 @@ public class CdmServerInfo { cdmServerInfoList.add(new CdmServerInfo(NAME_PRODUCTION, SERVER_PRODUCTION, 80, "", false)); //cdmServerInfoList.add(new CdmServerInfo(NAME_INTEGRATION, SERVER_INTEGRATION, 80, CDMSERVER_PREFIX)); cdmServerInfoList.add(new CdmServerInfo(NAME_DEMO_1, SERVER_DEMO_1, 80, CDMSERVER_PREFIX, false)); - // cdmServerInfoList.add(new CdmServerInfo(NAME_DEMO_2, SERVER_DEMO_2, 80, CDMSERVER_PREFIX)); + cdmServerInfoList.add(new CdmServerInfo(NAME_DEMO_2, SERVER_DEMO_2, 80, CDMSERVER_PREFIX, false)); //cdmServerInfoList.add(new CdmServerInfo(NAME_TEST, SERVER_TEST, 80, CDMSERVER_PREFIX, false)); cdmServerInfoList.add(new CdmServerInfo(NAME_LOCALHOST, SERVER_LOCALHOST, 8080, CDMSERVER_PREFIX, false)); cdmServerInfoList.add(new CdmServerInfo(NAME_LOCALHOST_MGD, SERVER_LOCALHOST, NULL_PORT, CDMSERVER_PREFIX, false)); diff --git a/eu.etaxonomy.taxeditor.editor/plugin.xml b/eu.etaxonomy.taxeditor.editor/plugin.xml index 7cf094832..dee02e05f 100644 --- a/eu.etaxonomy.taxeditor.editor/plugin.xml +++ b/eu.etaxonomy.taxeditor.editor/plugin.xml @@ -507,6 +507,9 @@ + + @@ -1532,6 +1535,15 @@ + + + + + + - - + excludeTaxa = new ArrayList(); - excludeTaxa.add(taxon.getUuid()); + //excludeTaxa.add(taxon.getUuid());//there are some cases where the accepted taxon should be the parent of the new created accepted taxon - TaxonNode newParentNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), editor.getConversationHolder(), "Select parent", excludeTaxa, null, ((TaxonEditorInput) input).getTaxonNode().getClassification()); + TaxonNode newParentNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), editor.getConversationHolder(), "Select parent", null, null, ((TaxonEditorInput) input).getTaxonNode().getClassification()); if(newParentNode != null){ diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java index 73c2f94d0..270d9aa2d 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java @@ -35,6 +35,8 @@ public class NameEditorMenuPropertyTester extends org.eclipse.core.expressions.P 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 HOMOTYPIC_SYNONYM_OF_ACCEPTED = "isHomotypicSynonymOfAcceptedTaxon"; + /** *

Constructor for NameEditorMenuPropertyTester.

@@ -76,7 +78,10 @@ public class NameEditorMenuPropertyTester extends org.eclipse.core.expressions.P } else if(ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS.equals(property)){ return isAcceptedAndHasNoHomotypicSynonyms(selectedElement); + }else if (HOMOTYPIC_SYNONYM_OF_ACCEPTED.equals(property)){ + return isHomotypicSynonymOfAcceptedTaxon(selectedElement); } + } return false; @@ -90,6 +95,19 @@ public class NameEditorMenuPropertyTester extends org.eclipse.core.expressions.P } return false; } + + private boolean isHomotypicSynonymOfAcceptedTaxon(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 diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java index bd2588b77..2478bf5a1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java @@ -14,7 +14,9 @@ import eu.etaxonomy.cdm.api.application.CdmChangeEvent; import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action; import eu.etaxonomy.cdm.api.service.IClassificationService; 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; @@ -51,26 +53,42 @@ public class NewTaxonNodeWizard extends AbstractNewEntityWizard{ getConversationHolder().bind(); ITaxonTreeNode parent = getParentTreeNode(); Taxon taxon = taxonNodePage.getTaxon(); + Reference sec = taxon.getSec(); + taxon.setSec(null); try{ - TaxonNode taxonNode = parent.addChildTaxon(taxon, parent.getReference(), parent.getMicroReference()); - - if(CdmStore.getCurrentSessionManager().isRemoting()) { + UUID parentNodeUuid; + if(parent instanceof Classification){ + parentNodeUuid = ((Classification) parent).getRootNode().getUuid(); + } + else{ + parentNodeUuid = parent.getUuid(); + } + UpdateResult result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parentNodeUuid, taxon, parent.getReference(), parent.getMicroReference()); + + //TaxonNode taxonNode = parent.addChildTaxon(taxon, parent.getReference(), parent.getMicroReference()); + + /* if(CdmStore.getCurrentSessionManager().isRemoting()) { taxonNode = CdmStore.getService(ITaxonNodeService.class).merge(taxonNode); } else { taxonNode = CdmStore.getService(ITaxonNodeService.class).save(taxonNode); + }*/ + generatedTaxonNodeUuid = result.getCdmEntity().getUuid(); + TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(generatedTaxonNodeUuid); + taxonNode.getTaxon().setSec(sec); + CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true); + Set affectedObjects = new HashSet(); + if (result.getUpdatedObjects().iterator().hasNext()){ + TaxonNode parentNode = (TaxonNode)result.getUpdatedObjects().iterator().next(); + if(parentNode.getParent() == null) { + affectedObjects.add(taxonNode.getClassification()); + } + if(parentNode instanceof TaxonNode) { + affectedObjects.add(parentNode); + } } - generatedTaxonNodeUuid = taxonNode.getUuid(); - Set affectedObjects = new HashSet(); - TaxonNode parentNode = taxonNode.getParent(); - if(parentNode.getParent() == null) { - affectedObjects.add(taxonNode.getClassification()); - } - if(parentNode instanceof TaxonNode) { - affectedObjects.add(parentNode); - } if(CdmStore.getCurrentSessionManager().isRemoting()) { CdmApplicationState.getCurrentDataChangeService() diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java index 037e7c75b..043587499 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java @@ -145,6 +145,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement extends /** {@inheritDoc} */ @Override public void widgetSelected(SelectionEvent e) { + + IService service = CdmStore.getService(entity); + T loadedEntity = service.load(entity.getUuid()); + if (loadedEntity==null){ + 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) { diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmEditorViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmEditorViewPart.java index 9262e0416..854481faa 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmEditorViewPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmEditorViewPart.java @@ -78,7 +78,11 @@ public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart { /** {@inheritDoc} */ @Override public void selectionChanged(IWorkbenchPart part, ISelection selection) { - if(delaySelection==null){ + /*to avoid widget is disposed exceptions + if(getViewer().getControl().isDisposed()){ + return; + }*/ + if(delaySelection==null){ delaySelection = new DelaySelection(part, selection); } delaySelection.setPart(part); @@ -88,6 +92,8 @@ public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart { Display.getCurrent().asyncExec(delaySelection); } } + + /** {@inheritDoc} */ @Override diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java index f9cedbdb8..35483a872 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java @@ -109,10 +109,8 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection this.part = part; Object element = selection.getFirstElement(); - - getViewer().setInput(element); - - showViewer(); + getViewer().setInput(element); + showViewer(); } /** diff --git a/pom.xml b/pom.xml index 09d882f5a..700dac5ad 100644 --- a/pom.xml +++ b/pom.xml @@ -18,10 +18,10 @@ 1.6 UTF-8 - 3.12.2 + 3.12.3 0.22.0 - 3.12.2 + 3.12.3 snapshot 3.4.2