[jboss-svn-commits] JBL Code SVN: r27029 - in labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm: dao and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 19 10:23:10 EDT 2009


Author: lkrzyzanek
Date: 2009-06-19 10:23:10 -0400 (Fri, 19 Jun 2009)
New Revision: 27029

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/dao/DbNukesForumsDAOImpl.java
   labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/NukesForumsDAO.java
Log:
Added voters activity

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-19 12:22:33 UTC (rev 27028)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java	2009-06-19 14:23:10 UTC (rev 27029)
@@ -78,7 +78,9 @@
 import com.jivesoftware.community.TagObjectNotFoundException;
 import com.jivesoftware.community.WatchManager;
 import com.jivesoftware.community.cache.CacheFactory;
+import com.jivesoftware.community.event.CommentEventDispatcher;
 import com.jivesoftware.community.event.MessageEventDispatcher;
+import com.jivesoftware.community.event.PollEventDispatcher;
 import com.jivesoftware.community.event.ThreadEventDispatcher;
 import com.jivesoftware.community.impl.ActivityListener;
 import com.jivesoftware.community.impl.dao.ActivityDAO;
@@ -194,6 +196,8 @@
         + "Activities are handled by hand.");
     ThreadEventDispatcher.getInstance().removeListener(activityListener);
     MessageEventDispatcher.getInstance().removeListener(activityListener);
+    PollEventDispatcher.getInstance().removeListener(activityListener);
+    CommentEventDispatcher.getInstance().removeListener(activityListener);
 
     for (Long forumID : forumMapping.keySet()) {
       log.error("INFO: Migrate topics for forum with ID: " + forumID);
@@ -312,6 +316,32 @@
               .getUser(), Activity.Type.created, poll.getCreationDate());
 
           activitiesFromMigration.add(activity);
+
+          if (topic.isContainsPoll()) {
+            log.trace("Add vote activities");
+
+            List<String[]> voters = nukesForumsDAO.getVoters(nukesPoll
+                .getPollID());
+            for (String[] userDetail : voters) {
+              User user = findUser(userDetail[0], userDetail[1]);
+              if (user == null) {
+                log.error("Unknkown user for poll vote, poll_id: "
+                    + nukesPoll.getPollID() + " username: '" + userDetail[0]
+                    + "'. Going to create new CS user");
+                try {
+                  user = nukesUserManager.createUserFromNukes(userDetail[0]);
+                } catch (UserAlreadyExistsException e) {
+                  throw new RuntimeException(
+                      "User already exists, but we're sure that doesn't", e);
+                }
+              }
+
+              activity = createActivity(poll, community, user,
+                  Activity.Type.commented, poll.getCreationDate());
+
+              activitiesFromMigration.add(activity);
+            }
+          }
         }
 
         log.trace("Migrate replies");
@@ -391,9 +421,6 @@
           }
           postsCount++;
         }
-        // TODO Add vote activity
-        // activityManager.addActivity(poll, container, user,
-        // Activity.Type.voted);
 
         if (!topic.isContainsPoll() && topic.getViewCount() > 0) {
           viewCountManager.clearCount(thread);
@@ -421,6 +448,8 @@
     log.trace("Registering back activity listener to event dispatchers.");
     ThreadEventDispatcher.getInstance().addListener(activityListener);
     MessageEventDispatcher.getInstance().addListener(activityListener);
+    PollEventDispatcher.getInstance().addListener(activityListener);
+    CommentEventDispatcher.getInstance().addListener(activityListener);
 
     final long timeConsumed = (System.currentTimeMillis() - start) / 1000;
     log.error("INFO: Migration completed, time taken: " + (long) timeConsumed

Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/DbNukesForumsDAOImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/DbNukesForumsDAOImpl.java	2009-06-19 12:22:33 UTC (rev 27028)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/DbNukesForumsDAOImpl.java	2009-06-19 14:23:10 UTC (rev 27029)
@@ -69,6 +69,8 @@
 
   private static final String SELECT_POLL_OPTIONS_BY_POLLID = "SELECT vote_option_id, vote_option_text, vote_result FROM phpbb_vote_results WHERE vote_desc_id = ?";
 
+  private static final String SELECT_VOTING_USERS_BY_POLLID = "SELECT u.pn_uname, u.pn_email FROM phpbb_vote_voters v join nuke_users u on v.vote_user_id = u.pn_uid WHERE vote_desc_id = ?";
+
   public List<NukesForumsForumBean> getAllForumsByCategoryID(Long categoryID) {
     return getSimpleJdbcTemplate().query(SELECT_FORUMS_BY_CATEGORYID,
         new NukesForumsForumBeanMapper(categoryID), categoryID);
@@ -133,6 +135,16 @@
     return poll;
   }
 
+  public List<String[]> getVoters(Long pollID) {
+    return getSimpleJdbcTemplate().query(SELECT_VOTING_USERS_BY_POLLID,
+        new ParameterizedRowMapper<String[]>() {
+          public String[] mapRow(ResultSet rs, int rowNum) throws SQLException {
+            String[] result = new String[] { rs.getString(1), rs.getString(2) };
+            return result;
+          };
+        }, pollID);
+  }
+
   /**
    * Mapper for {@link NukesUserBean} bean
    */

Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/NukesForumsDAO.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/NukesForumsDAO.java	2009-06-19 12:22:33 UTC (rev 27028)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/NukesForumsDAO.java	2009-06-19 14:23:10 UTC (rev 27029)
@@ -98,4 +98,12 @@
    */
   public NukesPollBean loadPoll(Long topicID);
 
+  /**
+   * Get list of voters who vote in specified poll
+   * 
+   * @param pollID
+   * @return list of array which contains username and e-mail
+   */
+  public List<String[]> getVoters(Long pollID);
+
 }




More information about the jboss-svn-commits mailing list