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();
}
}