Author: tdraier
Date: Thu Aug  2 16:12:31 2007
New Revision: 18105

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18105&repname=
=3Djahia
Log:
improved definitions updates, avoid database synvhronization issues
 (port 18039)

Modified:
    trunk/core/src/java/org/jahia/hibernate/dao/JahiaFieldsDefinitionDAO.ja=
va

Modified: trunk/core/src/java/org/jahia/hibernate/dao/JahiaFieldsDefinition=
DAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/dao/JahiaFieldsDefinitionDAO.java&rev=3D18105&repname=3D=
jahia
=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/JahiaFieldsDefinitionDAO.ja=
va (original)
+++ trunk/core/src/java/org/jahia/hibernate/dao/JahiaFieldsDefinitionDAO.ja=
va Thu Aug  2 16:12:31 2007
@@ -81,21 +81,22 @@
     }
 =

     private void saveProperties(JahiaFieldsDef ctnDef, final HibernateTemp=
late template) {
-        int size =3D ctnDef.getProperties().size();
+        Map properties =3D ctnDef.getProperties();
+        int size =3D properties.size();
         if (size > 0) {
             template.flush();
             template.clear();
             List list =3D template.find("from JahiaFieldsDefExtprop where =
comp_id.jahiaFieldsDef=3D?", ctnDef.getId());
-            template.deleteAll(list);
-            template.flush();
-            template.clear();
-            Iterator iterator =3D ctnDef.getProperties().entrySet().iterat=
or();
+            Iterator iterator =3D properties.entrySet().iterator();
             while (iterator.hasNext()) {
                 Map.Entry entry =3D (Map.Entry) iterator.next();
-                template.merge(new JahiaFieldsDefExtprop(new JahiaFieldsDe=
fExtpropPK(ctnDef.getId(),
-                                                                          =
           (String) entry.getKey()),
-                                                         (String) entry.ge=
tValue()));
+                JahiaFieldsDefExtprop fieldsDefExtprop =3D new JahiaFields=
DefExtprop(new JahiaFieldsDefExtpropPK(ctnDef.getId(),
+                        (String) entry.getKey()),
+                        (String) entry.getValue());
+                template.merge(fieldsDefExtprop);
+                list.remove(fieldsDefExtprop);
             }
+            template.deleteAll(list);
             template.flush();
         }
     }

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

Reply via email to