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