Merge branch 'release/4.1.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / selection / EditFromSelectionWizard.java
index adcbfeccd6afe4583ec11dd29ceb3a88432d5f04..5e76e56c6c80f7441b4e98e71e1a5341a838ebfd 100644 (file)
@@ -29,6 +29,7 @@ import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.model.description.PolytomousKey;
 import eu.etaxonomy.cdm.model.molecular.Amplification;
 import eu.etaxonomy.cdm.model.molecular.Primer;
 import eu.etaxonomy.cdm.model.name.NonViralName;
@@ -41,6 +42,7 @@ import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.model.TextHelper;
 import eu.etaxonomy.taxeditor.newWizard.AmplificationGeneralWizardPage;
+import eu.etaxonomy.taxeditor.newWizard.PolytomousKeyWizardPage;
 import eu.etaxonomy.taxeditor.newWizard.PrimerWizardPage;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
@@ -92,7 +94,6 @@ public class EditFromSelectionWizard extends Wizard implements
                //check if entity has already been persisted
                if(entity.getId()==0){
                        rootElement = entity;
-                       cdmEntitySession.addNewCdmEntity(rootElement);
                }
                else{
                        IService<CdmBase> service = CdmStore.getService(entity);
@@ -162,6 +163,10 @@ public class EditFromSelectionWizard extends Wizard implements
             addPage(new AmplificationGeneralWizardPage(formFactory,
                     selectionElement.getConversationHolder(),
                     HibernateProxyHelper.deproxy(rootElement, Amplification.class)));
+        } else if (rootElement instanceof PolytomousKey) {
+            addPage(new PolytomousKeyWizardPage(formFactory,
+                    selectionElement.getConversationHolder(),
+                    HibernateProxyHelper.deproxy(rootElement, PolytomousKey.class)));
         } else {
                        MessagingUtils.warningDialog("Missing interface", this,
                                        "No detail element for current selection");
@@ -204,7 +209,7 @@ public class EditFromSelectionWizard extends Wizard implements
             cdmEntitySession.dispose();
         }
         if(previousCdmEntitySession!=null){
-            previousCdmEntitySession.dispose();
+            previousCdmEntitySession.bind();
         }
     }