From: Patrick Plitzner Date: Tue, 29 Mar 2016 12:20:55 +0000 (+0200) Subject: Fix session problems #5592 X-Git-Tag: 4.0.0^2~70 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/b5e66a5b55b4d1dd32eff813c2e636387db7e8a9 Fix session problems #5592 --- diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java index 8340b243f..adcbfeccd 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java @@ -87,11 +87,12 @@ public class EditFromSelectionWizard extends Wizard implements public void addPages() { CdmFormFactory formFactory = selectionElement.getFormFactory(); - CdmBase entity = (CdmBase) HibernateProxyHelper + CdmBase entity = HibernateProxyHelper .deproxy(selectionElement.getEntity()); //check if entity has already been persisted if(entity.getId()==0){ rootElement = entity; + cdmEntitySession.addNewCdmEntity(rootElement); } else{ IService service = CdmStore.getService(entity); @@ -172,9 +173,11 @@ public class EditFromSelectionWizard extends Wizard implements @Override public boolean performFinish() { IService service = CdmStore.getService(rootElement); - service.merge(rootElement, true); + if(rootElement.getId()!=0){ + service.merge(rootElement, true); + } if(previousCdmEntitySession!=null){ - previousCdmEntitySession.load(rootElement, true); + selectionElement.setEntity(previousCdmEntitySession.load(rootElement, true)); } return true; } @@ -201,7 +204,7 @@ public class EditFromSelectionWizard extends Wizard implements cdmEntitySession.dispose(); } if(previousCdmEntitySession!=null){ - previousCdmEntitySession.bind(); + previousCdmEntitySession.dispose(); } }