[jboss-svn-commits] JBL Code SVN: r35571 - in labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main: java/org/jboss/community/sbs/plugin/reports/struts and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Oct 19 11:10:55 EDT 2010


Author: lkrzyzanek
Date: 2010-10-19 11:10:54 -0400 (Tue, 19 Oct 2010)
New Revision: 35571

Added:
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersSnapshotAction.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/rhusers-snaphost.ftl
Modified:
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbRedHatUsersDAOImpl.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/RedHatUsersDAO.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersAction.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/rhusers.ftl
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/struts.xml
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/resources/plugin_i18n.properties
Log:
Added snapshot details

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbRedHatUsersDAOImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbRedHatUsersDAOImpl.java	2010-10-19 14:22:43 UTC (rev 35570)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbRedHatUsersDAOImpl.java	2010-10-19 15:10:54 UTC (rev 35571)
@@ -52,11 +52,11 @@
     this.getSimpleJdbcTemplate().update(CREATE_SNAPSHOT, System.currentTimeMillis());
   }
 
-  private StringMapper stringMapper = new StringMapper();
+  private LongMapper longMapper = new LongMapper();
 
   @Override
-  public List<String> getRedHatUsers(Date date) {
-    return this.getSimpleJdbcTemplate().query(SELECT_REDHAT_USERS_BY_DATE, stringMapper, date);
+  public List<Long> getRedHatUsers(Date date) {
+    return this.getSimpleJdbcTemplate().query(SELECT_REDHAT_USERS_BY_DATE, longMapper, date);
   }
 
   private SnapshotsCountMapper snapshotsCountMapper = new SnapshotsCountMapper();
@@ -74,13 +74,13 @@
   }
 
   /**
-   * Simple string mapper - takes first column and return String
+   * Simple long mapper - takes first column and return Long
    */
-  private class StringMapper implements ParameterizedRowMapper<String> {
+  private class LongMapper implements ParameterizedRowMapper<Long> {
 
     @Override
-    public String mapRow(ResultSet rs, int rowNum) throws SQLException {
-      return rs.getString(1);
+    public Long mapRow(ResultSet rs, int rowNum) throws SQLException {
+      return rs.getLong(1);
     }
   }
 

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/RedHatUsersDAO.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/RedHatUsersDAO.java	2010-10-19 14:22:43 UTC (rev 35570)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/RedHatUsersDAO.java	2010-10-19 15:10:54 UTC (rev 35571)
@@ -43,7 +43,7 @@
    * @param date specified date
    * @return
    */
-  public List<String> getRedHatUsers(Date date);
+  public List<Long> getRedHatUsers(Date date);
 
   /**
    * Get snapshots counts

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersAction.java	2010-10-19 14:22:43 UTC (rev 35570)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersAction.java	2010-10-19 15:10:54 UTC (rev 35571)
@@ -41,6 +41,11 @@
 
   private RedHatUsersDAO redHatUsersDAO;
 
+  /**
+   * Used for showDetail
+   */
+  private Date snapshotDate;
+
   public void prepare() {
     snapshots = redHatUsersDAO.getSnapshotsCount();
   }
@@ -54,6 +59,11 @@
     return SUCCESS;
   }
 
+  public String showDetail() {
+
+    return INPUT;
+  }
+
   public Map<Date, Long> getSnapshots() {
     return snapshots;
   }
@@ -62,4 +72,12 @@
     this.redHatUsersDAO = redHatUsersDAO;
   }
 
+  public void setSnapshotDate(Date snapshotDate) {
+    this.snapshotDate = snapshotDate;
+  }
+
+  public Date getSnapshotDate() {
+    return snapshotDate;
+  }
+
 }

Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersSnapshotAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersSnapshotAction.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersSnapshotAction.java	2010-10-19 15:10:54 UTC (rev 35571)
@@ -0,0 +1,103 @@
+/*
+ * JBoss.org http://jboss.org/
+ *
+ * Copyright (c) 2010  Red Hat Middleware, LLC. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT A WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License, v.2.1 along with this distribution; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ * Red Hat Author(s): Libor Krzyzanek
+ */
+package org.jboss.community.sbs.plugin.reports.struts;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.jboss.community.sbs.plugin.reports.dao.RedHatUsersDAO;
+
+import com.jivesoftware.base.User;
+import com.jivesoftware.base.UserNotFoundException;
+import com.jivesoftware.community.action.JiveActionSupport;
+
+/**
+ * Action for viewing Red Hat Users snaphosts
+ * 
+ * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
+ * 
+ */
+public class AdminRHUsersSnapshotAction extends JiveActionSupport {
+  protected static final Logger log = LogManager.getLogger(AdminRHUsersSnapshotAction.class);
+  /**
+   * Date of snaphost
+   */
+  private Date snapshotDate;
+
+  private List<User> users = null;
+
+  private RedHatUsersDAO redHatUsersDAO;
+
+  @Override
+  public String execute() {
+    if (snapshotDate == null) {
+      addActionError(getText("plugin.reports.admin.rhusers.snapshot.dateRequired"));
+      log.error("snapshotDate is null");
+      return INPUT;
+    }
+
+    this.users = toUsers(redHatUsersDAO.getRedHatUsers(snapshotDate));
+    log.info("users: " + users);
+
+    return INPUT;
+  }
+
+  private List<User> toUsers(List<Long> users) {
+    log.info("users: " + users);
+    if (users == null || users.size() == 0) {
+      return null;
+    }
+    List<User> jiveUsers = new ArrayList<User>(users.size());
+
+    for (Long userId : users) {
+      try {
+        User jiveUser = userManager.getUser(userId);
+        jiveUsers.add(jiveUser);
+      } catch (UserNotFoundException e) {
+        addActionError(getText("plugin.reports.admin.rhusers.snapshot.userNotFound"));
+        log.error(e);
+      }
+    }
+
+    return jiveUsers;
+  }
+
+  public void setRedHatUsersDAO(RedHatUsersDAO redHatUsersDAO) {
+    this.redHatUsersDAO = redHatUsersDAO;
+  }
+
+  public void setSnapshotDate(Date snapshotDate) {
+    this.snapshotDate = snapshotDate;
+  }
+
+  public Date getSnapshotDate() {
+    return snapshotDate;
+  }
+
+  public List<User> getUsers() {
+    return users;
+  }
+
+}


Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersSnapshotAction.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/rhusers-snaphost.ftl
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/rhusers-snaphost.ftl	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/rhusers-snaphost.ftl	2010-10-19 15:10:54 UTC (rev 35571)
@@ -0,0 +1,32 @@
+<html>
+  <head>
+    <#assign pageTitle=action.getText('plugin.reports.admin.rhusers.snapshot.name') />
+    <title>${pageTitle}</title>
+    <content tag="pagetitle">${pageTitle}</content>
+    <content tag="pageID">reports-jbossreports-rhusers</content>
+  </head>
+  <body>
+    <#include "/template/global/include/form-message.ftl" />
+
+    <p>Snapshot Date: ${snapshotDate?datetime}</p>
+
+    <div class="jive-table" style="border: 0pt none;">
+      <table style="border: 1px solid #BBBBBB">
+        <tr>
+          <th><@s.text name="plugin.reports.admin.rhusers.snapshot.column.username"/></th>
+          <th><@s.text name="plugin.reports.admin.rhusers.snapshot.column.firstname"/></th>
+          <th><@s.text name="plugin.reports.admin.rhusers.snapshot.column.lastname"/></th>
+        </tr>
+        <#if list??>
+          <#list users as user>
+          <tr>
+            <td>${user.username}</td>
+            <td>${user.firstname}</td>
+            <td>${user.lastname}</td>
+          </tr>
+          </#list>
+        </#if>
+      </table>
+    </div>
+  </body>
+</html>

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/rhusers.ftl
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/rhusers.ftl	2010-10-19 14:22:43 UTC (rev 35570)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/rhusers.ftl	2010-10-19 15:10:54 UTC (rev 35571)
@@ -6,6 +6,8 @@
     <content tag="pageID">reports-jbossreports-rhusers</content>
   </head>
   <body>
+    <#include "/template/global/include/form-message.ftl" />
+
     <@s.form  theme="simple" action="redhat-users-create-snapshot">
     <@s.text name="plugin.reports.admin.rhusers.createsnapshot"/>:&nbsp;<@s.submit value="${action.getText('plugin.reports.admin.rhusers.submit')}"/>
     </@s.form>
@@ -16,11 +18,13 @@
         <tr>
           <th><@s.text name="plugin.reports.admin.rhusers.snapshots.column.created"/></th>
           <th><@s.text name="plugin.reports.admin.rhusers.snapshots.column.count"/></th>
+          <th><@s.text name="plugin.reports.admin.rhusers.snapshots.column.action"/></th>
         </tr>
         <#list snapshots.keySet() as key>
         <tr>
           <td>${key?datetime}</td>
           <td>${snapshots.get(key)}</td>
+          <td><a href="/admin/redhat-users-snapshot.jspa?snapshotDate=${key?datetime}"><@s.text name="plugin.reports.admin.rhusers.snapshots.detail"/></a></td>
         </tr>
         </#list>
       </table>

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/struts.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/struts.xml	2010-10-19 14:22:43 UTC (rev 35570)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/struts.xml	2010-10-19 15:10:54 UTC (rev 35571)
@@ -13,10 +13,17 @@
       <result name="input" type="freemarker">
         /plugins/reports/resources/templates/admin/rhusers.ftl
       </result>
-      <result name="success" type="redirect-action">
-        redhat-users
+      <result name="success" type="freemarker">
+        /plugins/reports/resources/templates/admin/rhusers.ftl
       </result>
     </action>
 
+    <action name="redhat-users-snapshot" class="org.jboss.community.sbs.plugin.reports.struts.AdminRHUsersSnapshotAction"
+      method="execute">
+      <result name="input" type="freemarker">
+        /plugins/reports/resources/templates/admin/rhusers-snaphost.ftl
+      </result>
+    </action>
+
   </package>
 </struts>

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/resources/plugin_i18n.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/resources/plugin_i18n.properties	2010-10-19 14:22:43 UTC (rev 35570)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/resources/plugin_i18n.properties	2010-10-19 15:10:54 UTC (rev 35571)
@@ -7,5 +7,14 @@
 plugin.reports.admin.rhusers.snapshots.caption=Created Snapshots
 plugin.reports.admin.rhusers.snapshots.column.created=Created
 plugin.reports.admin.rhusers.snapshots.column.count=Count
+plugin.reports.admin.rhusers.snapshots.column.action=Action
+plugin.reports.admin.rhusers.snapshots.detail=Detail
 plugin.reports.admin.rhusers.submit=Create Snapshot
-plugin.reports.admin.rhusers.text.created=Snapshot successfuly created
\ No newline at end of file
+plugin.reports.admin.rhusers.text.created=Snapshot successfuly created
+
+plugin.reports.admin.rhusers.snapshot.name=Red Hat users snapshot details
+plugin.reports.admin.rhusers.snapshot.column.username=Username
+plugin.reports.admin.rhusers.snapshot.column.firstname=Firstname
+plugin.reports.admin.rhusers.snapshot.column.lastname=Lastname
+plugin.reports.admin.rhusers.snapshot.dateRequired=Snaphost date is required
+plugin.reports.admin.rhusers.snapshot.userNotFound=User {0} not found in SBS.
\ No newline at end of file



More information about the jboss-svn-commits mailing list