Author: tdraier
Date: Tue Sep 25 16:28:18 2007
New Revision: 18644

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18644&repname=
=3Djahia
Log:
avoid crash when field has already been backuped for an unknown reason ( BO=
UY-39 )

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aFieldsDataDAO.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/da=
o/JahiaFieldsDataDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/dao/JahiaFieldsDataDAO.java&rev=
=3D18644&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aFieldsDataDAO.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aFieldsDataDAO.java Tue Sep 25 16:28:18 2007
@@ -76,6 +76,7 @@
                 HibernateTemplate hibernateTemplate =3D getHibernateTempla=
te();
                 hibernateTemplate.setFlushMode(HibernateTemplate.FLUSH_AUT=
O);
                 hibernateTemplate.save(fieldsData);
+                hibernateTemplate.flush();
             } catch (CloneNotSupportedException e) {
                 log.error("Clone of fields data not supported", e);
             }

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/ma=
nager/JahiaFieldsDataManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.ja=
va&rev=3D18644&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java Tue Sep 25 16:28:18 2007
@@ -23,6 +23,7 @@
 import org.apache.commons.collections.FastHashMap;
 import org.apache.log4j.Logger;
 import org.hibernate.ObjectDeletedException;
+import org.hibernate.exception.ConstraintViolationException;
 import org.jahia.content.ContentFieldKey;
 import org.jahia.content.ContentObject;
 import org.jahia.content.CrossReferenceManager;
@@ -128,15 +129,23 @@
         try {
             dao.backupFieldsData(new Integer(contentField.getID()), new Lo=
ng(entryState.getVersionID()),
                                  new Integer(entryState.getWorkflowState()=
), entryState.getLanguageCode());
+        } catch(DataIntegrityViolationException e) {
+            // The object is already backuped
+            log.warn("Warning field already backuped : " + contentField.ge=
tID() + " " +
+                     entryState.getLanguageCode());
+        } catch(ConstraintViolationException e) {
+            // The object is already backuped
+            log.warn("Warning field already backuped : " + contentField.ge=
tID() + " " +
+                     entryState.getLanguageCode());
         } catch (ObjectRetrievalFailureException e) {
             log.warn("Warning field not found for backuping : " + contentF=
ield.getID() + " " +
                      entryState.getLanguageCode(),
                      e);
             return null;
-        } catch(DataIntegrityViolationException e) {
-            // The object is already backuped
-            log.warn("Warning field already backuped : " + contentField.ge=
tID() + " " +
-                     entryState.getLanguageCode());
+        } catch (Throwable e) {
+            log.warn("Unknown error, field has not been backuped : " + con=
tentField.getID() + " " +
+                     entryState.getLanguageCode(),
+                     e);
         }
         flushCache(contentField.getID(),contentField.getSiteID(), contentF=
ield.getContainerID());
         return new ContentObjectEntryState(0, entryState.getVersionID(), e=
ntryState.getLanguageCode());

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

Reply via email to