[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