Author: vmassol
Date: 2008-01-25 10:13:15 +0100 (Fri, 25 Jan 2008)
New Revision: 7078

Modified:
   
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/hibernate/R4359XWIKI1459Migrator.java
Log:
XWIKI-2034: Parse error (encountered EOF) while migrating the database

Merged from branch 1.2 (rev 7077)

Modified: 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/hibernate/R4359XWIKI1459Migrator.java
===================================================================
--- 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/hibernate/R4359XWIKI1459Migrator.java
      2008-01-25 09:03:25 UTC (rev 7077)
+++ 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/hibernate/R4359XWIKI1459Migrator.java
      2008-01-25 09:13:15 UTC (rev 7078)
@@ -106,9 +106,16 @@
                         }
                         long docId = Long.parseLong(rs.getString(1));
                         String sArchive = rs.getString(2);
-                        XWikiDocumentArchive docArchive = new 
XWikiDocumentArchive(docId);
-                        docArchive.setArchive(sArchive);
-                        
context.getWiki().getVersioningStore().saveXWikiDocArchive(docArchive, true, 
context);
+
+                        // In some weird cases it can happen that the 
XWD_ARCHIVE field is empty (that shouldn't happen but we've seen it happening).
+                        // In this case just ignore the archive...
+                        if (sArchive.trim().length() != 0) {
+                            XWikiDocumentArchive docArchive = new 
XWikiDocumentArchive(docId);
+                            docArchive.setArchive(sArchive);
+                            
context.getWiki().getVersioningStore().saveXWikiDocArchive(docArchive, true, 
context);
+                        } else {
+                            LOG.warn("Empty revision found for document [" + 
rs.getString(3) + "]. Ignoring non-fatal error.");
+                        }
                         deleteStatement.setLong(1, docId);
                         deleteStatement.executeUpdate();
                     }

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to