[jboss-svn-commits] JBL Code SVN: r35669 - in labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main: java/org/jboss/community/sbs/plugin/reports/monthly and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 22 09:16:42 EDT 2010
Author: lkrzyzanek
Date: 2010-10-22 09:16:41 -0400 (Fri, 22 Oct 2010)
New Revision: 35669
Added:
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/DownloadMonthlyReportAction.java
Modified:
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbReportDAOImpl.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/ReportDAO.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/MonthlyReportManagerImpl.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/monthly-reports.ftl
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/struts.xml
Log:
Added download monthly report
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbReportDAOImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbReportDAOImpl.java 2010-10-22 13:16:00 UTC (rev 35668)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/DbReportDAOImpl.java 2010-10-22 13:16:41 UTC (rev 35669)
@@ -69,8 +69,8 @@
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public void updateReportStatus(ReportBean report) {
String message = report.getStatusMessage();
- if (message != null && message.length() > 200) {
- message = message.substring(0, 200);
+ if (message != null && message.length() > 100) {
+ message = message.substring(0, 100);
}
getSimpleJdbcTemplate().update(UPDATE_REPORT_STATUS, report.getStatus(), message, report.getId());
}
@@ -95,6 +95,13 @@
return getSimpleJdbcTemplate().queryForObject(SELECT_REPORT_BY_ID, reportBeanMapper, id);
}
+ @Override
+ public InputStream getReportData(long id) {
+ String sql = "SELECT reportData FROM reportsMonthly WHERE id = ?";
+ JiveJdbcOperationsTemplate template = new JiveJdbcOperationsTemplate(getSimpleJdbcTemplate());
+ return template.queryBlobAsStream(sql, id);
+ }
+
private class ReportBeanMapper implements ParameterizedRowMapper<ReportBean> {
@Override
public ReportBean mapRow(ResultSet rs, int rowNum) throws SQLException {
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/ReportDAO.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/ReportDAO.java 2010-10-22 13:16:00 UTC (rev 35668)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/dao/ReportDAO.java 2010-10-22 13:16:41 UTC (rev 35669)
@@ -67,4 +67,12 @@
*/
public ReportBean getReport(long id);
+ /**
+ * Get report data
+ *
+ * @param id report id
+ * @return data as stream
+ */
+ public InputStream getReportData(long id);
+
}
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/MonthlyReportManagerImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/MonthlyReportManagerImpl.java 2010-10-22 13:16:00 UTC (rev 35668)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/MonthlyReportManagerImpl.java 2010-10-22 13:16:41 UTC (rev 35669)
@@ -21,13 +21,13 @@
*/
package org.jboss.community.sbs.plugin.reports.monthly;
+import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
-import org.hsqldb.lib.StringInputStream;
import org.jboss.community.sbs.plugin.reports.dao.ReportBean;
import org.jboss.community.sbs.plugin.reports.dao.ReportDAO;
@@ -55,7 +55,6 @@
report.setFrom(from.getTime());
report.setTo(to.getTime());
report.setRedHatUsersSnapshot(redHatUsersSnapshot.getTime());
- // create Status enum
report.setStatus(ReportBean.STATUS.CREATED.intValue());
report.setStatusMessage("Pending in queue");
@@ -69,10 +68,12 @@
report.setStatus(ReportBean.STATUS.FINISHED.intValue());
report.setStatusMessage(null);
- InputStream is = new StringInputStream(result);
+ byte[] data = result.getBytes();
- reportDAO.saveResultAndStatus(report, is, result.length());
+ InputStream is = new ByteArrayInputStream(data);
+ reportDAO.saveResultAndStatus(report, is, data.length);
+
try {
is.close();
} catch (IOException e) {
Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/DownloadMonthlyReportAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/DownloadMonthlyReportAction.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/DownloadMonthlyReportAction.java 2010-10-22 13:16:41 UTC (rev 35669)
@@ -0,0 +1,64 @@
+/*
+ * 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.io.InputStream;
+
+import org.jboss.community.sbs.plugin.reports.dao.ReportDAO;
+
+import com.jivesoftware.community.action.JiveActionSupport;
+
+/**
+ *
+ * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
+ *
+ */
+public class DownloadMonthlyReportAction extends JiveActionSupport {
+
+ private ReportDAO reportDAO;
+
+ private Long reportId;
+
+ private InputStream reportData;
+
+ public String execute() {
+ reportData = reportDAO.getReportData(reportId);
+ return SUCCESS;
+ }
+
+ public void setReportDAO(ReportDAO reportDAO) {
+ this.reportDAO = reportDAO;
+ }
+
+ public InputStream getReportData() {
+ return reportData;
+ }
+
+ public void setReportId(Long reportId) {
+ this.reportId = reportId;
+ }
+
+ public Long getReportId() {
+ return reportId;
+ }
+
+}
Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/struts/DownloadMonthlyReportAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/monthly-reports.ftl
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/monthly-reports.ftl 2010-10-22 13:16:00 UTC (rev 35668)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/resources/templates/admin/monthly-reports.ftl 2010-10-22 13:16:41 UTC (rev 35669)
@@ -48,7 +48,7 @@
<td>${statics['org.jboss.community.sbs.plugin.reports.struts.AdminRHUsersSnapshotAction'].convertToDate(report.redHatUsersSnapshot)?datetime}</td>
<td>${report.configurationId}</td>
<td><@s.text name="plugin.reports.admin.monthlyrep.reports.status.#{report.status}"/> <#if report.statusMessage??><br/>${report.statusMessage}</#if></td>
- <td><#if report.status == 10><a href="/admin/monthly-report-download.jspa?reportID=${report.id}"><@s.text name="plugin.reports.admin.monthlyrep.reports.download"/></a></#if></td>
+ <td><#if report.status == 10><a href="/admin/download-monthly-report.jspa?reportId=${report.id?string("0")}"><@s.text name="plugin.reports.admin.monthlyrep.reports.download"/></a></#if></td>
</tr>
</#list>
</tbody>
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-22 13:16:00 UTC (rev 35668)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/plugin/struts.xml 2010-10-22 13:16:41 UTC (rev 35669)
@@ -38,7 +38,7 @@
<action name="create-monthly-report" class="org.jboss.community.sbs.plugin.reports.struts.MonthlyReportsAction"
method="execute">
- <interceptor-ref name="paramsPrepareParamsStack"/>
+ <interceptor-ref name="paramsPrepareParamsStack" />
<result name="input" type="freemarker">
/plugins/reports/resources/templates/admin/monthly-reports.ftl
@@ -48,5 +48,14 @@
</result>
</action>
+ <action name="download-monthly-report" class="org.jboss.community.sbs.plugin.reports.struts.DownloadMonthlyReportAction">
+ <result name="success" type="stream">
+ <param name="contentType">text/csv</param>
+ <param name="inputName">reportData</param>
+ <param name="contentDisposition">attachment; filename="report.csv"</param>
+ <param name="bufferSize">1024</param>
+ </result>
+ </action>
+
</package>
</struts>
More information about the jboss-svn-commits
mailing list