Author: tdraier
Date: Thu Aug  2 16:10:11 2007
New Revision: 18103

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18103&repname=
=3Djahia
Log:
avoid duplicate keys
 (port 18035)

Modified:
    trunk/core/src/java/org/jahia/hibernate/dao/JahiaWorkflowDAO.java

Modified: trunk/core/src/java/org/jahia/hibernate/dao/JahiaWorkflowDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/dao/JahiaWorkflowDAO.java&rev=3D18103&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/dao/JahiaWorkflowDAO.java (orig=
inal)
+++ trunk/core/src/java/org/jahia/hibernate/dao/JahiaWorkflowDAO.java Thu A=
ug  2 16:10:11 2007
@@ -37,12 +37,14 @@
     public void save(JahiaWorkflow workflow) {
         HibernateTemplate hibernateTemplate =3D getHibernateTemplate();
         hibernateTemplate.setFlushMode(HibernateTemplate.FLUSH_AUTO);
-        try {
-            hibernateTemplate.save(workflow);
-            hibernateTemplate.flush();
-        } catch (ConstraintViolationException e) {
-            hibernateTemplate.merge(workflow);
-            hibernateTemplate.flush();
+        synchronized(this) {
+            if (hibernateTemplate.get(JahiaWorkflow.class, workflow.getObj=
ectkey()) =3D=3D null) {
+                hibernateTemplate.save(workflow);
+                hibernateTemplate.flush();
+            } else {
+                hibernateTemplate.merge(workflow);
+                hibernateTemplate.flush();
+            }
         }
     }
 =


_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to