[jboss-svn-commits] JBL Code SVN: r26853 - labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 5 10:26:15 EDT 2009


Author: lkrzyzanek
Date: 2009-06-05 10:26:15 -0400 (Fri, 05 Jun 2009)
New Revision: 26853

Modified:
   labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java
Log:
Fixed log messages and 
Fixed handling of first topic post when it's not exists

Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java	2009-06-05 14:22:56 UTC (rev 26852)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java	2009-06-05 14:26:15 UTC (rev 26853)
@@ -39,6 +39,7 @@
 import org.jboss.labs.clearspace.plugin.nfm.dao.NukesForumsTopicBean;
 import org.jboss.labs.clearspace.plugin.nfm.dao.ViewCountDAO;
 import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.dao.EmptyResultDataAccessException;
 
 import com.jivesoftware.base.User;
 import com.jivesoftware.base.UserManager;
@@ -137,7 +138,8 @@
     final long start = System.currentTimeMillis();
     log.error("INFO: Migration of forums to clearspace started");
 
-    log.error("INFO: Clearing all caches to have as much as possible free memory.");
+    log.error("INFO: Clearing all caches to have "
+        + "as much as possible free memory.");
     CacheFactory.clearCaches();
 
     Map<String, Long> result = new HashMap<String, Long>();
@@ -163,8 +165,19 @@
         // log.debug("Migrate posts for topic with ID: " + topic.getTopicID());
 
         // log.trace("get First post for postID: " + topic.getFirstPostID());
-        NukesForumsPostBean topicPost = nukesForumsDAO.getPostByID(topic
-            .getFirstPostID());
+        NukesForumsPostBean topicPost;
+        try {
+          topicPost = nukesForumsDAO.getPostByID(topic.getFirstPostID());
+        } catch (EmptyResultDataAccessException e) {
+          List<NukesForumsPostBean> replies = nukesForumsDAO
+              .getAllPostsByTopicID(topic.getTopicID(), null);
+          if (replies.isEmpty()) {
+            log.error("Topic has no firstPostID and also no replies, "
+                + "topic_id: " + topic.getTopicID() + ". Going to next topic");
+            continue;
+          }
+          topicPost = replies.get(0);
+        }
 
         // check topicPost time
         // some posts has null value but topic time is set
@@ -203,7 +216,7 @@
           rootMessageUser = userManager.getUser(topicPost.getPosterUsername());
         } catch (UserNotFoundException e) {
           log.error("Unknkown user for topic_id: " + topic.getTopicID()
-              + " username: " + topicPost.getPosterUsername());
+              + " username: '" + topicPost.getPosterUsername() + "'");
           try {
             rootMessageUser = userManager.getUser(unknownMigrationUser);
           } catch (UserNotFoundException e1) {
@@ -252,8 +265,8 @@
           try {
             replyUser = userManager.getUser(reply.getPosterUsername());
           } catch (UserNotFoundException e) {
-            log.error("Unknkown user for topic_id: " + topic.getTopicID()
-                + " username: " + topicPost.getPosterUsername());
+            log.error("Unknkown user for reply_id: " + reply.getPostID()
+                + " username: '" + reply.getPosterUsername() + "'");
             try {
               rootMessageUser = userManager.getUser(unknownMigrationUser);
             } catch (UserNotFoundException e1) {
@@ -310,7 +323,8 @@
     CacheFactory.clearCaches();
 
     final long timeConsumed = (System.currentTimeMillis() - start) / 1000;
-    log.error("INFO: Migration completed, time taken: " + (long)timeConsumed / 60 + " minutes.");
+    log.error("INFO: Migration completed, time taken: " + (long) timeConsumed
+        / 60 + " minutes.");
 
     return result;
   }




More information about the jboss-svn-commits mailing list