[jboss-svn-commits] JBL Code SVN: r35562 - in labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main: java/org and 11 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Oct 19 07:56:58 EDT 2010
Author: lkrzyzanek
Date: 2010-10-19 07:56:57 -0400 (Tue, 19 Oct 2010)
New Revision: 35562
Added:
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/community/
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/community/sbs/
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/community/sbs/plugin/
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/
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/
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/
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/schema.xml
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/spring.xml
Modified:
labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/plugin.xml
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 RH Users Implementation
Added: 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 (rev 0)
+++ 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 11:56:57 UTC (rev 35562)
@@ -0,0 +1,96 @@
+/*
+ * JBoss Community 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.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
+
+import com.jivesoftware.base.database.dao.JiveJdbcDaoSupport;
+
+/**
+ * DB Implementation of {@link RedHatUsersDAO}
+ *
+ * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
+ */
+public class DbRedHatUsersDAOImpl extends JiveJdbcDaoSupport implements RedHatUsersDAO {
+
+ private static final String SELECT_REDHAT_USERS_BY_DATE = "SELECT userID FROM reportsRedHatUsers WHERE created = ?";
+
+ private static final String SELECT_REDHAT_USERS_COUNTS = "SELECT created, count(userID) FROM reportsRedHatUsers GROUP BY created";
+
+ private static final String CREATE_SNAPSHOT = "INSERT usersRedHat SELECT DISTINCT u.userId, ? "
+ + "FROM jiveUser u LEFT JOIN jiveUserProfile uphd ON u.userID=uphd.userID LEFT JOIN jiveUserProfile upld ON u.userID=upld.userID and upld.fieldID=5005 "
+ + "WHERE uphd.fieldID=10 and uphd.value is not null and now() > STR_TO_DATE(uphd.value,'%m/%d/%Y') and (upld.value is null or now() <= STR_TO_DATE(upld.value,'%m/%d/%Y'))";
+
+ @Override
+ public void createSnapshot() {
+ this.getSimpleJdbcTemplate().update(CREATE_SNAPSHOT, System.currentTimeMillis());
+ }
+
+ private StringMapper stringMapper = new StringMapper();
+
+ @Override
+ public List<String> getRedHatUsers(Date date) {
+ return this.getSimpleJdbcTemplate().query(SELECT_REDHAT_USERS_BY_DATE, stringMapper, date);
+ }
+
+ private SnapshotsCountMapper snapshotsCountMapper = new SnapshotsCountMapper();
+
+ @Override
+ public Map<Date, Long> getSnapshotsCount() {
+ List<Object[]> data = this.getSimpleJdbcTemplate().query(SELECT_REDHAT_USERS_COUNTS, snapshotsCountMapper);
+
+ HashMap<Date, Long> result = new HashMap<Date, Long>();
+ for (Object[] object : data) {
+ result.put((Date) object[0], (Long) object[1]);
+ }
+
+ return result;
+ }
+
+ /**
+ * Simple string mapper - takes first column and return String
+ */
+ private class StringMapper implements ParameterizedRowMapper<String> {
+
+ @Override
+ public String mapRow(ResultSet rs, int rowNum) throws SQLException {
+ return rs.getString(1);
+ }
+ }
+
+ private class SnapshotsCountMapper implements ParameterizedRowMapper<Object[]> {
+ @Override
+ public Object[] mapRow(ResultSet rs, int rowNum) throws SQLException {
+ Object[] row = new Object[2];
+ row[0] = rs.getDate(0);
+ row[1] = rs.getLong(1);
+ return row;
+ }
+ }
+}
Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbRedHatUsersDAOImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ 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 11:56:57 UTC (rev 35562)
@@ -0,0 +1,55 @@
+/*
+ * JBoss Community 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.dao;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * DAO For RedHat users
+ *
+ * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
+ */
+public interface RedHatUsersDAO {
+
+ /**
+ * Create Red Hat Users snapshot
+ */
+ public void createSnapshot();
+
+ /**
+ * Get Red Hat Users for specified date
+ *
+ * @param date specified date
+ * @return
+ */
+ public List<String> getRedHatUsers(Date date);
+
+ /**
+ * Get snapshots counts
+ *
+ * @return key is date of snapshot, count of snapshots
+ */
+ public Map<Date, Long> getSnapshotsCount();
+
+}
Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/RedHatUsersDAO.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ 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 11:56:57 UTC (rev 35562)
@@ -0,0 +1,65 @@
+/*
+ * 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.Date;
+import java.util.Map;
+
+import org.jboss.community.sbs.plugin.reports.dao.RedHatUsersDAO;
+
+import com.jivesoftware.community.action.JiveActionSupport;
+import com.opensymphony.xwork2.Preparable;
+
+/**
+ * Action for viewing/creating Red Hat Users snapshots
+ *
+ * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
+ *
+ */
+public class AdminRHUsersAction extends JiveActionSupport implements Preparable {
+
+ private Map<Date, Long> snapshots;
+
+ private RedHatUsersDAO redHatUsersDAO;
+
+ public void prepare() {
+ snapshots = redHatUsersDAO.getSnapshotsCount();
+ }
+
+ @Override
+ public String execute() {
+ redHatUsersDAO.createSnapshot();
+
+ addActionMessage(getText("plugin.reports.admin.rhusers.text.created"));
+
+ return INPUT;
+ }
+
+ public Map<Date, Long> getSnapshots() {
+ return snapshots;
+ }
+
+ public void setRedHatUsersDAO(RedHatUsersDAO redHatUsersDAO) {
+ this.redHatUsersDAO = redHatUsersDAO;
+ }
+
+}
Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/AdminRHUsersAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/plugin.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/plugin.xml 2010-10-19 11:54:12 UTC (rev 35561)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/plugin.xml 2010-10-19 11:56:57 UTC (rev 35562)
@@ -1,10 +1,26 @@
<plugin xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.jivesoftware.com/schemas/clearspace/1_1/plugin.xsd">
- <name>script-console</name>
+ <name>reports</name>
<description>JBoss Community Reports</description>
<author>JBoss Community</author>
<version>1.0.0</version>
<minServerVersion>4.5.0</minServerVersion>
+ <databaseKey>reports</databaseKey>
+ <databaseVersion>1</databaseVersion>
+ <components>
+ <component id="admin-console">
+ <tab id="reports">
+ <section id="reports-jbossreports" name="plugin.reports.admin.tab.name"
+ description="plugin.reports.admin.tab.description">
+
+ <item id="reports-jbossreports-rhusers" name="plugin.reports.admin.rhusers.name"
+ url="redhat-users.jspa" description="plugin.reports.admin.rhusers.description" />
+
+ </section>
+ </tab>
+ </component>
+ </components>
+
</plugin>
Added: 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 (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/resources/templates/admin/rhusers.ftl 2010-10-19 11:56:57 UTC (rev 35562)
@@ -0,0 +1,18 @@
+<html>
+ <head>
+ <#assign pageTitle=action.getText('plugin.reports.admin.rhusers.name') />
+ <title>${pageTitle}</title>
+ <content tag="pagetitle">${pageTitle}</content>
+ <content tag="pageID">reports-jbossreports-rhusers</content>
+ </head>
+ <body>
+ <@s.form theme="simple" action="redhat-users-create-snapshot">
+ Create Snapshot: <@s.submit value="${action.getText('plugin.reports.admin.rhusers.submit')}"/>
+ </@s.form>
+
+ <p>Created Snapshots</p>
+ <@s.iterator value="snapshots">
+ snapshot: <@s.property />
+ </@s.iterator>
+ </body>
+</html>
\ No newline at end of file
Added: labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/schema.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/schema.xml (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/schema.xml 2010-10-19 11:56:57 UTC (rev 35562)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema name="reports">
+ <table name="reportsRedHatUsers" description="Snapshot of Red Hat users">
+ <column name="userID" type="bigint" nullable="false" description="User ID" />
+ <column name="created" type="bigint" nullable="false" description="Time when snapshot is created" />
+ <index type="primary" name="reportsRHUsers_pk" column="userID,created" />
+ </table>
+</schema>
Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/schema.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/spring.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/spring.xml (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/spring.xml 2010-10-19 11:56:57 UTC (rev 35562)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd"
+ default-autowire="no" default-init-method="init" default-destroy-method="destroy">
+
+ <bean id="redHatUsersDAO" class="org.jboss.community.sbs.plugin.reports.dao.DbRedHatUsersDAOImpl">
+ <property name="dataSource">
+ <util:property-path path="dataSourceFactory.dataSource" />
+ </property>
+ </bean>
+
+</beans>
Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/spring.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
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 11:54:12 UTC (rev 35561)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/plugin/struts.xml 2010-10-19 11:56:57 UTC (rev 35562)
@@ -1,7 +1,19 @@
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
- <package name="script-console-actions" namespace="/admin"
- extends="community-admin-default">
-
+ <package name="jbossreports-actions" namespace="/admin" extends="community-admin-default">
+
+ <action name="redhat-users" class="org.jboss.community.sbs.plugin.reports.struts.AdminRHUsersAction" method="input">
+ <result name="input" type="freemarker">
+ /plugins/reports/resources/templates/admin/rhusers.ftl
+ </result>
+ </action>
+
+ <action name="redhat-users-create-snapshot" class="org.jboss.community.sbs.plugin.reports.struts.AdminRHUsersAction"
+ method="execute">
+ <result name="input" type="freemarker">
+ /plugins/reports/resources/templates/admin/rhusers.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 11:54:12 UTC (rev 35561)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-reports/trunk/src/main/resources/plugin_i18n.properties 2010-10-19 11:56:57 UTC (rev 35562)
@@ -1,9 +1,7 @@
-plugin.script-console.admin.console.name=Scripting Console
-plugin.script-console.admin.console.description=Execute your scripts in Jive SBS administration console
+plugin.reports.admin.tab.name=Custom
+plugin.reports.admin.tab.description=Customized reports for JBoss Community
-plugin.script-console.admin.console.scriptcontent=Script content
-plugin.script-console.admin.console.submit=Execute
-
-plugin.script-console.admin.console.text.sucess=Script successfuly executed. See the result.
-plugin.script-console.admin.console.text.error.common=Error occur during execution. See the result.
-plugin.script-console.admin.console.text.error.nosuchmethod=Script must contain at least function run(ctx).
\ No newline at end of file
+plugin.reports.admin.rhusers.name=Red Hat Users
+plugin.reports.admin.rhusers.description=List of Red Hat Users snapshots
+plugin.reports.admin.rhusers.submit=Create Snapshot
+plugin.reports.admin.rhusers.text.created=Snapshot successfuly created
\ No newline at end of file
More information about the jboss-svn-commits
mailing list