[prev in list] [next in list] [prev in thread] [next in thread]
List: opennms-cvs
Subject: [opennms-cvs] SF.net SVN: opennms:[15308]
From: jsartin () users ! sourceforge ! net
Date: 2009-11-30 21:04:19
Message-ID: E1NFDPv-0005tB-IA () 3kljzd1 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Revision: 15308
http://opennms.svn.sourceforge.net/opennms/?rev=15308&view=rev
Author: jsartin
Date: 2009-11-30 21:04:18 +0000 (Mon, 30 Nov 2009)
Log Message:
-----------
Make report parameters more generic. reportCategory is now a special case of \
string-parm. Have dates accept relative defaults. Clean up unused legacy report \
beans. Make value of report-parms a consistent field name.
Modified Paths:
--------------
opennms/branches/feature-reportd/opennms-base-assembly/src/main/filtered/etc/database-reports.xml
opennms/branches/feature-reportd/opennms-config/src/main/castor/database-reports.xsd
opennms/branches/feature-reportd/opennms-dao/src/main/java/org/opennms/netmgt/dao/DatabaseReportConfigDao.java
opennms/branches/feature-reportd/opennms-dao/src/main/java/org/opennms/netmgt/dao/castor/DefaultDatabaseReportConfigDao.java
opennms/branches/feature-reportd/opennms-dao/src/test/java/org/opennms/netmgt/dao/castor/DefaultDatabaseReportConfigDaoTest.java
opennms/branches/feature-reportd/opennms-dao/src/test/resources/database-reports-testdata.xml
opennms/branches/feature-reportd/opennms-reporting/src/main/resources/META-INF/opennms/applicationContext-reporting.xml
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/command/DatabaseReportCriteriaCommand.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/DatabaseReportCriteriaService.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/DatabaseReportService.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportCriteriaService.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportListService.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/QuartzDatabaseReportService.java
opennms/branches/feature-reportd/opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml
opennms/branches/feature-reportd/opennms-webapp/src/main/webapp/WEB-INF/flows/report/database/databaseReportBuilder/databaseReportBuilder-flow.xml
opennms/branches/feature-reportd/opennms-webapp/src/main/webapp/WEB-INF/flows/report/database/databaseReportBuilder/reportParameters.jsp
opennms/branches/feature-reportd/opennms-webapp/src/main/webapp/WEB-INF/flows/report/database/databaseReportBuilder/reviewReport.jsp
opennms/branches/feature-reportd/opennms-webapp/src/test/java/org/opennms/web/svclayer/DefaultDatabaseReportCriteriaServiceTest.java
Added Paths:
-----------
opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/BatchReportService.java
opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/OnmsBatchDatabaseReportService.java
opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/ReportValidationService.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/BatchReportJob.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportCriteria.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportDateParm.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportParm.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportStringParm.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/QuartzSchedulerService.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/TriggerDescription.java
Removed Paths:
-------------
opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCategoryParm.java
opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCriteria.java
opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportDateParm.java
opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportParm.java
opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/DatabaseReportService.java
opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/OnmsDatabaseReportService.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/ReportJob.java
opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportService.java
Modified: opennms/branches/feature-reportd/opennms-base-assembly/src/main/filtered/etc/database-reports.xml
===================================================================
--- opennms/branches/feature-reportd/opennms-base-assembly/src/main/filtered/etc/database-reports.xml 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-base-assembly/src/main/filtered/etc/database-reports.xml 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -3,16 +3,22 @@
xmlns:this="http://xmlns.opennms.org/xsd/config/opennms-database-reports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.opennms.org/xsd/config/opennms-database-reports">
- <report report-name="defaultCalendarReport" display-name="default calendar report"
- engine-name="opennms" description="standard opennms report in calendar format">
- <date name="endDate" display-name="end date" default-value="TODAY" />
- <report-category name="reportCategory" display-name="report category"
- default-value="networkInterfaces" />
+ <report id="defaultCalendarReport" display-name="default calendar report"
+ report-service="onmsBatchDatabaseReportService" description="standard opennms \
report in calendar format"> + <date name="endDate" display-name="end date"/>
+ <string-parm name="reportCategory" display-name="report category" \
input-type="reportCategorySelector" /> + <date-offset name="endDate" \
display-name="end date"> + <default-interval>day</default-interval>
+ <default-count>1</default-count>
+ </date-offset>
</report>
- <report report-name="defaultClassicReport" display-name="default classic report"
- engine-name="opennms" description="standard opennms report in tabular format">
- <date name="endDate" display-name="end date" default-value="TODAY" />
- <report-category name="reportCategory" display-name="report category"
- default-value="networkInterfaces" />
+ <report id="defaultClassicReport" display-name="default classic report"
+ report-service="onmsBatchDatabaseReportService" description="standard opennms \
report in tabular format"> + <date name="endDate" display-name="end date"/>
+ <string-parm name="reportCategory" display-name="report category" \
input-type="reportCategorySelector" /> + <date-offset name="endDate" \
display-name="end date"> + <default-interval>day</default-interval>
+ <default-count>1</default-count>
+ </date-offset>
</report>
</database-reports>
\ No newline at end of file
Modified: opennms/branches/feature-reportd/opennms-config/src/main/castor/database-reports.xsd
===================================================================
--- opennms/branches/feature-reportd/opennms-config/src/main/castor/database-reports.xsd 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-config/src/main/castor/database-reports.xsd 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -24,14 +24,12 @@
<element name="report">
<complexType>
<sequence>
- <element name="date" maxOccurs="unbounded" minOccurs="0"
- type="this:report-parm" />
- <element name="report-category" maxOccurs="unbounded" minOccurs="0"
- type="this:report-parm" />
- <element name="date-offset" maxOccurs="unbounded" minOccurs="0"
- type="this:date-offset-parm" />
+ <element name="string-parm" maxOccurs="unbounded" minOccurs="0"
+ type="this:string-parm" />
+ <element name="date-parm" maxOccurs="unbounded" minOccurs="0"
+ type="this:date-parm" />
</sequence>
- <attribute name="report-name" type="string" use="required">
+ <attribute name="id" type="string" use="required">
<annotation>
<documentation>the name of this report as defined in engine
configuration</documentation>
@@ -43,7 +41,7 @@
</documentation>
</annotation>
</attribute>
- <attribute name="engine-name" type="string" use="required">
+ <attribute name="report-service" type="string" use="required">
<annotation>
<documentation>the name of the engine to use to process and
render this report</documentation>
@@ -56,69 +54,99 @@
</attribute>
</complexType>
</element>
-
- <complexType name="date-offset-parm">
-
+
+ <complexType name="date-parm">
+
<annotation>
<documentation>
- An offset period used as a base to determine a real date when running the report
+ An offset period used as a base to determine a real
+ date when running the report
</documentation>
</annotation>
-
+
<sequence>
- <element maxOccurs="1" minOccurs="1" name="default-interval">
- <annotation>
- <documentation>period for the date offset \
(day|month|year)</documentation>
- </annotation>
- <simpleType>
- <restriction base="string">
- <pattern value="(day|month|year)"/>
- </restriction>
- </simpleType>
- </element>
- <element maxOccurs="1" minOccurs="1" name="default-count" type="integer" />
+ <element maxOccurs="1" minOccurs="1" name="default-interval" \
type="this:date-interval" /> + <element maxOccurs="1" minOccurs="1" \
name="default-count" type="int" /> </sequence>
-
+
<attribute name="name" type="string" use="required">
<annotation>
- <documentation>the name of this parameter as passed to the report \
engine</documentation> + <documentation>the name of this parameter as passed to \
the report + engine</documentation>
</annotation>
</attribute>
-
+
<attribute name="display-name" type="string" use="required">
<annotation>
<documentation>the name of this parameter as displayed in the
webui</documentation>
</annotation>
</attribute>
-
+
+ <attribute name="use-absolute-date" type="boolean" use="optional">
+ <annotation>
+ <documentation>flag to use absolute date if possible</documentation>
+ </annotation>
+ </attribute>
+
</complexType>
- <complexType name="report-parm">
+ <complexType name="string-parm">
+
<annotation>
<documentation>
- Parameters taken by this report
+ A string parameter passed to the report engine
</documentation>
</annotation>
+
<sequence>
- <element maxOccurs="1" minOccurs="0" name="default" type="string">
- <annotation>
- <documentation>value</documentation>
- </annotation>
- </element>
+ <element maxOccurs="1" minOccurs="0" name="default" type="string">
+ <annotation>
+ <documentation>value</documentation>
+ </annotation>
+ </element>
</sequence>
+
<attribute name="name" type="string" use="required">
<annotation>
- <documentation>the name of this parameter as passed to the report \
engine</documentation> + <documentation>the name of this parameter as passed to \
the report + engine</documentation>
</annotation>
</attribute>
+
<attribute name="display-name" type="string" use="required">
<annotation>
<documentation>the name of this parameter as displayed in the
webui</documentation>
</annotation>
</attribute>
+
+ <attribute name="input-type" use="required">
+ <annotation>
+ <documentation>indicates if collected SNMP data is to be
+ stored for
+ "all" interfaces or only for the "primary"
+ interface.</documentation>
+ </annotation>
+
+ <simpleType>
+ <restriction base="string">
+ <pattern value="(reportCategorySelector|freeText)" />
+ </restriction>
+ </simpleType>
+ </attribute>
+
</complexType>
-
+ <simpleType name="date-interval">
+ <annotation>
+ <documentation>
+ Parameters taken by this report
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="(day|month|year)" />
+ </restriction>
+ </simpleType>
+
</schema>
\ No newline at end of file
Modified: opennms/branches/feature-reportd/opennms-dao/src/main/java/org/opennms/netmgt/dao/DatabaseReportConfigDao.java
===================================================================
--- opennms/branches/feature-reportd/opennms-dao/src/main/java/org/opennms/netmgt/dao/DatabaseReportConfigDao.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-dao/src/main/java/org/opennms/netmgt/dao/DatabaseReportConfigDao.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -37,18 +37,22 @@
import java.util.List;
+import org.opennms.netmgt.config.databaseReports.DateParm;
import org.opennms.netmgt.config.databaseReports.Report;
import org.opennms.netmgt.config.databaseReports.ReportParm;
+import org.opennms.netmgt.config.databaseReports.StringParm;
public interface DatabaseReportConfigDao {
ReportParm[] getDates(String id);
- ReportParm[] getReportCategories(String id);
+ DateParm[] getDateParms(String id);
+ StringParm[] getStringParms(String id);
+
List <Report> getReports();
- String getEngine(String id);
+ String getReportService(String id);
String getDisplayName(String id);
Modified: opennms/branches/feature-reportd/opennms-dao/src/main/java/org/opennms/netmgt/dao/castor/DefaultDatabaseReportConfigDao.java
===================================================================
--- opennms/branches/feature-reportd/opennms-dao/src/main/java/org/opennms/netmgt/dao/castor/DefaultDatabaseReportConfigDao.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-dao/src/main/java/org/opennms/netmgt/dao/castor/DefaultDatabaseReportConfigDao.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -39,9 +39,10 @@
import java.util.List;
import org.opennms.netmgt.config.databaseReports.DatabaseReports;
-import org.opennms.netmgt.config.databaseReports.DateOffset;
+import org.opennms.netmgt.config.databaseReports.DateParm;
import org.opennms.netmgt.config.databaseReports.Report;
import org.opennms.netmgt.config.databaseReports.ReportParm;
+import org.opennms.netmgt.config.databaseReports.StringParm;
import org.opennms.netmgt.dao.DatabaseReportConfigDao;
public class DefaultDatabaseReportConfigDao extends \
AbstractCastorConfigDao<DatabaseReports, List<Report>> @@ -68,36 +69,36 @@
}
- public DateOffset[] getDateOffests(String id) {
+ public DateParm[] getDateParms(String id) {
- DateOffset[] dates = null;
+ DateParm[] dateParms = null;
Report report = getReport(id);
if (report != null) {
- dates = report.getDateOffset();
+ dateParms = report.getDateParm();
}
- return dates;
+ return dateParms;
}
- public ReportParm[] getReportCategories(String id) {
+ public StringParm[] getStringParms(String id) {
- ReportParm[] categories = null;
+ StringParm[] stringParms = null;
Report report = getReport(id);
if (report != null) {
- categories = report.getReportCategory();
+ stringParms = report.getStringParm();
}
- return categories;
+ return stringParms;
}
- public String getEngine(String name) {
+ public String getReportService(String name) {
Report report = getReport(name);
if(report != null){
- return report.getEngineName();
+ return report.getReportService();
} else {
return new String();
}
@@ -119,7 +120,7 @@
private Report getReport(String name) {
for(Report report : getContainer().getObject()) {
- if (name.equals(report.getReportName())) {
+ if (name.equals(report.getId())) {
return report;
}
}
Modified: opennms/branches/feature-reportd/opennms-dao/src/test/java/org/opennms/netmgt/dao/castor/DefaultDatabaseReportConfigDaoTest.java
===================================================================
--- opennms/branches/feature-reportd/opennms-dao/src/test/java/org/opennms/netmgt/dao/castor/DefaultDatabaseReportConfigDaoTest.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-dao/src/test/java/org/opennms/netmgt/dao/castor/DefaultDatabaseReportConfigDaoTest.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -41,6 +41,7 @@
import org.junit.Test;
import org.opennms.netmgt.config.databaseReports.DateOffset;
+import org.opennms.netmgt.config.databaseReports.DateParm;
import org.opennms.netmgt.config.databaseReports.ReportParm;
import org.opennms.test.ConfigurationTestUtils;
import org.springframework.core.io.ClassPathResource;
@@ -53,6 +54,7 @@
private static final String DESCRIPTION = "default calendar report";
private static final String DATE_DISPLAY_NAME = "end date";
private static final String DATE_NAME = "endDate";
+ private static final String REPORT_SERVICE = "onmsBatchDatabaseReportService";
@Test
@@ -63,21 +65,18 @@
dao.setConfigResource(resource);
dao.afterPropertiesSet();
- ReportParm[] dates = dao.getDates(NAME);
+ assertEquals(dao.getReportService(NAME),REPORT_SERVICE);
+ DateParm[] dates = dao.getDateParms(NAME);
assertEquals(dates.length,1);
assertEquals(dates[0].getName(),DATE_NAME);
assertEquals(dates[0].getDisplayName(),DATE_DISPLAY_NAME);
+ assertEquals(dates[0].getUseAbsoluteDate(),true);
+ assertEquals(dates[0].getDefaultCount(),1);
+ assertEquals(dates[0].getDefaultInterval(),"day");
- DateOffset[] offset = dao.getDateOffests(NAME);
- assertEquals(offset.length,1);
- assertEquals(offset[0].getName(),DATE_NAME);
- assertEquals(offset[0].getDisplayName(),DATE_DISPLAY_NAME);
- assertEquals(offset[0].getDefaultCount(),1);
- assertEquals(offset[0].getDefaultInterval(),"day");
-
}
}
Modified: opennms/branches/feature-reportd/opennms-dao/src/test/resources/database-reports-testdata.xml
===================================================================
--- opennms/branches/feature-reportd/opennms-dao/src/test/resources/database-reports-testdata.xml 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-dao/src/test/resources/database-reports-testdata.xml 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -3,13 +3,12 @@
xmlns:this="http://xmlns.opennms.org/xsd/config/opennms-database-reports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.opennms.org/xsd/config/opennms-database-reports">
- <report report-name="defaultCalendarReport" display-name="default calendar report"
- engine-name="opennms" description="standard opennms report in calendar format">
- <date name="endDate" display-name="end date"/>
- <report-category name="reportCategory" display-name="report category"/>
- <date-offset name="endDate" display-name="end date">
+ <report id="defaultCalendarReport" display-name="default calendar report"
+ report-service="onmsBatchDatabaseReportService" description="standard opennms \
report in calendar format"> + <string-parm name="reportCategory" \
display-name="report category" input-type="reportCategorySelector" /> + <date-parm \
name="endDate" display-name="end date" use-absolute-date="true"> \
<default-interval>day</default-interval> <default-count>1</default-count>
- </date-offset>
+ </date-parm>
</report>
</database-reports>
\ No newline at end of file
Deleted: opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCategoryParm.java
===================================================================
--- opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCategoryParm.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCategoryParm.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -1,58 +0,0 @@
-//
-// This file is part of the OpenNMS(R) Application.
-//
-// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights reserved.
-// OpenNMS(R) is a derivative work, containing both original code, included code and \
modified
-// code that was published under the GNU General Public License. Copyrights for \
modified
-// and included code are below.
-//
-// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
-//
-// Modifications:
-//
-// Created: October 5th, 2009 jonathan@opennms.org
-//
-// Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-// For more information contact:
-// OpenNMS Licensing <license@opennms.org>
-// http://www.opennms.org/
-// http://www.opennms.com/
-//
-package org.opennms.netmgt.model;
-
-import java.io.Serializable;
-
-public class DatabaseReportCategoryParm extends DatabaseReportParm implements \
Serializable {
-
-
- private static final long serialVersionUID = -2057597127243217834L;
-
- String m_category;
-
- public DatabaseReportCategoryParm() {
- super();
- }
-
- public String getCategory() {
- return m_category;
- }
- public void setCategory(String category) {
- m_category = category;
- }
-
-}
Deleted: opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCriteria.java
===================================================================
--- opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCriteria.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCriteria.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -1,122 +0,0 @@
-//
-// This file is part of the OpenNMS(R) Application.
-//
-// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights reserved.
-// OpenNMS(R) is a derivative work, containing both original code, included code and \
modified
-// code that was published under the GNU General Public License. Copyrights for \
modified
-// and included code are below.
-//
-// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
-//
-// Modifications:
-//
-// Created: November 9th, 2009 jonathan@opennms.org
-//
-// Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-// For more information contact:
-// OpenNMS Licensing <license@opennms.org>
-// http://www.opennms.org/
-// http://www.opennms.com/
-//
-package org.opennms.netmgt.model;
-
-import java.io.Serializable;
-import java.util.List;
-
-
-public class DatabaseReportCriteria implements Serializable {
-
- private static final long serialVersionUID = -3848794546173077375L;
- protected String m_reportId;
- protected String m_displayName;
- protected List <DatabaseReportCategoryParm> m_categories;
- protected List <DatabaseReportDateParm> m_dates;
- protected String m_mailTo;
- protected Boolean m_persist;
- protected Boolean m_sendMail;
- protected String m_mailFormat;
-
- public DatabaseReportCriteria() {
- super();
- }
-
- public String getMailTo() {
- return m_mailTo;
- }
-
- public void setMailTo(String email) {
- m_mailTo = email;
- }
-
- public String getMailFormat() {
- return m_mailFormat;
- }
-
- public void setMailFormat(String format) {
- m_mailFormat = format;
- }
-
- public List<DatabaseReportDateParm> getDates() {
- return m_dates;
- }
-
- public void setDates(List<DatabaseReportDateParm> dates) {
- m_dates = dates;
- }
-
- public List<DatabaseReportCategoryParm> getCategories() {
- return m_categories;
- }
-
- public void setCategories(List<DatabaseReportCategoryParm> categories) {
- m_categories = categories;
- }
-
- public void setPersist(Boolean persist) {
- m_persist = persist;
- }
-
- public Boolean getPersist() {
- return m_persist;
- }
-
- public void setSendMail(Boolean sendEmail) {
- m_sendMail = sendEmail;
- }
-
- public Boolean getSendMail() {
- return m_sendMail;
- }
-
- public void setReportId(String reportId) {
- m_reportId = reportId;
- }
-
- public String getReportId() {
- return m_reportId;
- }
-
- public void setDisplayName(String displayName) {
- m_displayName = displayName;
- }
-
- public String getDisplayName() {
- return m_displayName;
- }
-
-}
\ No newline at end of file
Deleted: opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportDateParm.java
===================================================================
--- opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportDateParm.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportDateParm.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -1,58 +0,0 @@
-//
-// This file is part of the OpenNMS(R) Application.
-//
-// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights reserved.
-// OpenNMS(R) is a derivative work, containing both original code, included code and \
modified
-// code that was published under the GNU General Public License. Copyrights for \
modified
-// and included code are below.
-//
-// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
-//
-// Modifications:
-//
-// Created: October 5th, 2009 jonathan@opennms.org
-//
-// Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-// For more information contact:
-// OpenNMS Licensing <license@opennms.org>
-// http://www.opennms.org/
-// http://www.opennms.com/
-//
-package org.opennms.netmgt.model;
-
-import java.io.Serializable;
-import java.util.Date;
-
-public class DatabaseReportDateParm extends DatabaseReportParm implements \
Serializable {
-
- private static final long serialVersionUID = -8528562178984136887L;
-
- Date m_date;
-
- public DatabaseReportDateParm() {
- super();
- }
-
- public Date getDate() {
- return m_date;
- }
- public void setDate(Date date) {
- m_date = date;
- }
-
-}
Deleted: opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportParm.java
===================================================================
--- opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportParm.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportParm.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -1,63 +0,0 @@
-//
-// This file is part of the OpenNMS(R) Application.
-//
-// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights reserved.
-// OpenNMS(R) is a derivative work, containing both original code, included code and \
modified
-// code that was published under the GNU General Public License. Copyrights for \
modified
-// and included code are below.
-//
-// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
-//
-// Modifications:
-//
-// Created: October 5th, 2009 jonathan@opennms.org
-//
-// Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-// For more information contact:
-// OpenNMS Licensing <license@opennms.org>
-// http://www.opennms.org/
-// http://www.opennms.com/
-//
-package org.opennms.netmgt.model;
-
-import java.io.Serializable;
-
-public class DatabaseReportParm implements Serializable {
-
- private static final long serialVersionUID = -7987984390575422836L;
-
- String m_name;
- String m_displayName;
-
- public String getName() {
- return m_name;
- }
-
- public void setName(String name) {
- m_name = name;
- }
-
- public String getDisplayName() {
- return m_displayName;
- }
-
- public void setDisplayName(String displayName) {
- m_displayName = displayName;
- }
-
-}
\ No newline at end of file
Added: opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/BatchReportService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/BatchReportService.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/BatchReportService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,53 @@
+/*
+ * This file is part of the OpenNMS(R) Application.
+ *
+ * OpenNMS(R) is Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+ * OpenNMS(R) is a derivative work, containing both original code, included code and \
modified + * code that was published under the GNU General Public License. Copyrights \
for modified + * and included code are below.
+ *
+ * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+ *
+ * Modifications:
+ *
+ * Created: November 23, 2009 jonathan@opennms.org
+ *
+ * TODO: Move this into an API project
+ *
+ * Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * For more information contact:
+ * OpenNMS Licensing <license@opennms.org>
+ * http://www.opennms.org/
+ * http://www.opennms.com/
+ */
+package org.opennms.report.availability.svclayer;
+
+import java.util.HashMap;
+
+public interface BatchReportService {
+
+ public abstract boolean validate(HashMap<String, Object> reportParms,
+ String reportID);
+
+ public abstract void runAndPersist(HashMap<String, Object> reportParms,
+ String reportID);
+
+ public abstract void runAndMail(HashMap<String, Object> reportParms,
+ String reportId, String recipient, String format);
+
+}
\ No newline at end of file
Deleted: opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/DatabaseReportService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/DatabaseReportService.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/DatabaseReportService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -1,44 +0,0 @@
-/*
- * This file is part of the OpenNMS(R) Application.
- *
- * OpenNMS(R) is Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
- * OpenNMS(R) is a derivative work, containing both original code, included code and \
modified
- * code that was published under the GNU General Public License. Copyrights for \
modified
- * and included code are below.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * Modifications:
- *
- * Created: November 11, 2009 jonathan@opennms.org
- *
- * Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For more information contact:
- * OpenNMS Licensing <license@opennms.org>
- * http://www.opennms.org/
- * http://www.opennms.com/
- */
-package org.opennms.report.availability.svclayer;
-
-import org.opennms.netmgt.model.DatabaseReportCriteria;
-
-public interface DatabaseReportService {
-
- public void run(DatabaseReportCriteria criteria);
-
-}
Added: opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/OnmsBatchDatabaseReportService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/OnmsBatchDatabaseReportService.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/OnmsBatchDatabaseReportService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,232 @@
+/*
+ * This file is part of the OpenNMS(R) Application.
+ *
+ * OpenNMS(R) is Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+ * OpenNMS(R) is a derivative work, containing both original code, included code and \
modified + * code that was published under the GNU General Public License. Copyrights \
for modified + * and included code are below.
+ *
+ * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+ *
+ * Modifications:
+ *
+ * Created: November 23, 2009 jonathan@opennms.org
+ *
+ * Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * For more information contact:
+ * OpenNMS Licensing <license@opennms.org>
+ * http://www.opennms.org/
+ * http://www.opennms.com/
+ */
+package org.opennms.report.availability.svclayer;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+
+import org.apache.log4j.Category;
+import org.opennms.core.utils.ThreadCategory;
+import org.opennms.netmgt.dao.OnmsDatabaseReportConfigDao;
+import org.opennms.report.availability.AvailabilityCalculationException;
+import org.opennms.report.availability.AvailabilityCalculator;
+import org.opennms.report.availability.ReportMailer;
+import org.opennms.report.availability.render.HTMLReportRenderer;
+import org.opennms.report.availability.render.PDFReportRenderer;
+import org.opennms.report.availability.render.ReportRenderException;
+import org.opennms.report.availability.render.ReportRenderer;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.UrlResource;
+
+public class OnmsBatchDatabaseReportService implements BatchReportService, \
ReportValidationService { +
+ private AvailabilityCalculator m_classicCalculator;
+
+ private AvailabilityCalculator m_calendarCalculator;
+
+ private OnmsDatabaseReportConfigDao m_configDao;
+
+ private Category log;
+
+ private static final String LOG4J_CATEGORY = "OpenNMS.Report";
+
+ private static final String HTML_FORMAT = "HTML";
+ private static final String SVG_FORMAT = "SVG";
+ private static final String PDF_FORMAT = "PDF";
+ private static final String CAL_TYPE = "calendar";
+
+ private static final String HTML_OUTPUT_FILE_NAME = "AvailReport.html";
+ private static final String SVG_OUTPUT_FILE_NAME = "SVGAvailReport.pdf";
+ private static final String PDF_OUTPUT_FILE_NAME = "PDFAvailReport.pdf";
+
+ public OnmsBatchDatabaseReportService() {
+
+ ThreadCategory.setPrefix(LOG4J_CATEGORY);
+ log = ThreadCategory.getInstance(OnmsBatchDatabaseReportService.class);
+
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.opennms.report.availability.svclayer.BatchDatabaseReportService#validate(java.util.HashMap, \
java.lang.String) + */
+ public boolean validate(HashMap<String, Object> reportParms, String reportID){
+
+ if (!reportParms.containsKey("endDate")) {
+ log.fatal("report parameters should contain parameter endDate");
+ return false;
+ }
+
+ if (!(reportParms.get("endDate") instanceof Date)){
+ log.fatal("report parameters 'endDate' should be a Date");
+ return false;
+ }
+
+ if (!reportParms.containsKey("reportCategory")) {
+ log.fatal("report parameters should contain parameter reportCategory");
+ return false;
+ }
+
+ if (!(reportParms.get("reportCategory") instanceof String)){
+ log.fatal("report parameter 'reportCategory' should be a String");
+ return false;
+ }
+
+ return true;
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.opennms.report.availability.svclayer.BatchDatabaseReportService#runAndPersist(java.util.HashMap, \
java.lang.String) + */
+ public void runAndPersist(HashMap<String, Object> reportParms, String reportID) \
{ +
+ runInternal(reportParms, reportID);
+
+ }
+
+ private String runInternal(HashMap<String, Object> reportParms, String reportId) \
{ +
+ AvailabilityCalculator calculator;
+ String reportFileName = null;
+
+ log.debug("running OpenNMS database report " + reportId);
+
+ if (m_configDao.getType(reportId).equalsIgnoreCase(CAL_TYPE)) {
+ calculator = m_calendarCalculator;
+ log.debug("Calendar report format selected");
+ } else {
+ calculator = m_classicCalculator;
+ log.debug("Classic report format selected");
+ }
+
+ calculator.setCategoryName((String) reportParms.get("reportCategory"));
+
+ calculator.setCalendar(new GregorianCalendar());
+ calculator.setPeriodEndDate((Date) reportParms.get("endDate"));
+
+ calculator.setLogoURL(m_configDao.getLogo(reportId));
+
+
+ // have the calculator calculate everything to enable any of the templates \
to work + // This will have some performance impact.
+
+ calculator.setReportFormat("all");
+
+ log.debug("Starting Availability Report Calculations");
+ try {
+ calculator.calculate();
+ reportFileName = calculator.writeLocateableXML();
+ } catch (AvailabilityCalculationException ce) {
+ log.fatal("Unable to calculate report data ", ce);
+ }
+
+ return reportFileName;
+
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.opennms.report.availability.svclayer.BatchDatabaseReportService#runAndMail(java.util.HashMap, \
java.lang.String, java.lang.String, java.lang.String) + */
+ public void runAndMail(HashMap<String, Object> reportParms, String reportId, \
String recipient, String format) { +
+ Resource xsltResource;
+ String inputFileName;
+ String outputFileName;
+ ReportRenderer renderer;
+
+ inputFileName = runInternal(reportParms, reportId);
+
+ if (inputFileName != null) {
+
+ try {
+
+ if (format.equalsIgnoreCase(HTML_FORMAT)) {
+ renderer = new HTMLReportRenderer();
+ xsltResource = new \
UrlResource(m_configDao.getHtmlStylesheetLocation(reportId)); + \
outputFileName = HTML_OUTPUT_FILE_NAME; + } else {
+ renderer = new PDFReportRenderer();
+ if (format.equalsIgnoreCase(SVG_FORMAT)) {
+ xsltResource = new \
UrlResource(m_configDao.getSvgStylesheetLocation(reportId)); + \
outputFileName = SVG_OUTPUT_FILE_NAME; +
+ } else {
+ xsltResource = new \
UrlResource(m_configDao.getPdfStylesheetLocation(reportId)); + \
outputFileName = PDF_OUTPUT_FILE_NAME; + }
+ }
+ String baseDir = System.getProperty("opennms.report.dir");
+ log.debug("render base dir: " + baseDir);
+ log.debug("render input file: " + inputFileName);
+ log.debug("render output file: " + outputFileName);
+ log.debug("render template: " + xsltResource);
+ renderer.setBaseDir(baseDir);
+ renderer.render(inputFileName, outputFileName, xsltResource);
+ ReportMailer mailer = new ReportMailer(
+ recipient,
+ baseDir + "/" + \
outputFileName); + mailer.send();
+
+ } catch (MalformedURLException e) {
+ log.fatal("Malformed URL for xslt template");
+ } catch (ReportRenderException e) {
+ log.fatal("unable to render report");
+ } catch (IOException e) {
+ log.fatal("unable to mail report");
+ }
+ }
+
+
+ }
+
+ public void setCalendarCalculator(AvailabilityCalculator calculator) {
+ m_calendarCalculator = calculator;
+ }
+
+ public void setClassicCalculator(AvailabilityCalculator calulator) {
+ m_classicCalculator = calulator;
+ }
+
+ public void setConfigDao(OnmsDatabaseReportConfigDao configDao) {
+ m_configDao = configDao;
+ }
+
+}
Deleted: opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/OnmsDatabaseReportService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/OnmsDatabaseReportService.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/OnmsDatabaseReportService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -1,202 +0,0 @@
-/*
- * This file is part of the OpenNMS(R) Application.
- *
- * OpenNMS(R) is Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
- * OpenNMS(R) is a derivative work, containing both original code, included code and \
modified
- * code that was published under the GNU General Public License. Copyrights for \
modified
- * and included code are below.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * Modifications:
- *
- * Created: November 11, 2009 jonathan@opennms.org
- *
- * Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For more information contact:
- * OpenNMS Licensing <license@opennms.org>
- * http://www.opennms.org/
- * http://www.opennms.com/
- */
-package org.opennms.report.availability.svclayer;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.GregorianCalendar;
-
-import org.apache.log4j.Category;
-import org.opennms.core.utils.ThreadCategory;
-import org.opennms.netmgt.dao.OnmsDatabaseReportConfigDao;
-import org.opennms.netmgt.model.DatabaseReportCriteria;
-import org.opennms.report.availability.AvailabilityCalculationException;
-import org.opennms.report.availability.AvailabilityCalculator;
-import org.opennms.report.availability.ReportMailer;
-import org.opennms.report.availability.render.HTMLReportRenderer;
-import org.opennms.report.availability.render.PDFReportRenderer;
-import org.opennms.report.availability.render.ReportRenderException;
-import org.opennms.report.availability.render.ReportRenderer;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.UrlResource;
-
-public class OnmsDatabaseReportService implements Runnable {
-
- private AvailabilityCalculator m_classicCalculator;
-
- private AvailabilityCalculator m_calendarCalculator;
-
- private OnmsDatabaseReportConfigDao m_configDao;
-
- private Category log;
-
- private DatabaseReportCriteria m_criteria;
-
- private static final String LOG4J_CATEGORY = "OpenNMS.Report";
-
- private static final String HTML_FORMAT = "HTML";
- private static final String SVG_FORMAT = "SVG";
- private static final String PDF_FORMAT = "PDF";
- private static final String CAL_TYPE = "calendar";
-
- private static final String HTML_OUTPUT_FILE_NAME = "AvailReport.html";
- private static final String SVG_OUTPUT_FILE_NAME = "SVGAvailReport.pdf";
- private static final String PDF_OUTPUT_FILE_NAME = "PDFAvailReport.pdf";
-
- public OnmsDatabaseReportService() {
-
- ThreadCategory.setPrefix(LOG4J_CATEGORY);
- log = ThreadCategory.getInstance(OnmsDatabaseReportService.class);
-
- }
-
- public void run(DatabaseReportCriteria criteria) {
- this.setCriteria(criteria);
- run();
- }
-
- public void run() {
-
- Resource xsltResource;
-
- AvailabilityCalculator calculator;
- String inputFileName;
- String outputFileName;
- ReportRenderer renderer;
-
- log.debug("running OpenNMS database report " + m_criteria.getReportId());
- log.debug(m_configDao.getType(m_criteria.getReportId()) + " type report \
selected");
-
- if (m_configDao.getType(m_criteria.getReportId()).equalsIgnoreCase(CAL_TYPE)) \
{
- calculator = m_calendarCalculator;
- log.debug("Calendar report format selected");
- } else {
- calculator = m_classicCalculator;
- log.debug("Classic report format selected");
- }
-
- calculator.setCalendar(new GregorianCalendar());
-
- // TODO fix this so that it uses the right name for the category
- calculator.setCategoryName(getCriteria().getCategories().get(0).getCategory());
- // TODO fix this so that it uses the right name for the date
- calculator.setPeriodEndDate(getCriteria().getDates().get(0).getDate());
-
- calculator.setLogoURL(m_configDao.getLogo(getCriteria().getReportId()));
-
- if (getCriteria().getMailFormat() == null || \
getCriteria().getMailFormat().equalsIgnoreCase(SVG_FORMAT)) {
- log.debug("report will be calculated as PDF with embedded SVG");
- calculator.setReportFormat(SVG_FORMAT);
- } else if (getCriteria().getMailFormat().equalsIgnoreCase(SVG_FORMAT)) {
- log.debug("report will be calculated as PDF");
- calculator.setReportFormat(PDF_FORMAT);
- } else {
- log.debug("report will be calculated as html");
- calculator.setReportFormat(HTML_FORMAT);
- }
-
-
- try {
- log.debug("Starting Availability Report Calculations");
- calculator.calculate();
- if (getCriteria().getPersist() == true) {
- inputFileName = calculator.writeLocateableXML();
- } else {
- inputFileName = calculator.writeXML();
- }
- if (getCriteria().getSendMail() == true) {
- if (getCriteria().getMailFormat().equalsIgnoreCase(HTML_FORMAT)) {
- renderer = new HTMLReportRenderer();
- xsltResource = new \
UrlResource(m_configDao.getHtmlStylesheetLocation(getCriteria().getReportId()));
- outputFileName = HTML_OUTPUT_FILE_NAME;
- } else {
- renderer = new PDFReportRenderer();
- if (getCriteria().getMailFormat().equalsIgnoreCase(SVG_FORMAT)) \
{
- xsltResource = new \
UrlResource(m_configDao.getSvgStylesheetLocation(getCriteria().getReportId()));
- outputFileName = SVG_OUTPUT_FILE_NAME;
-
- } else {
- xsltResource = new \
UrlResource(m_configDao.getPdfStylesheetLocation(getCriteria().getReportId()));
- outputFileName = PDF_OUTPUT_FILE_NAME;
- }
- }
- String baseDir = System.getProperty("opennms.report.dir");
- log.debug("render base dir: " + baseDir);
- log.debug("render input file: " + inputFileName);
- log.debug("render output file: " + outputFileName);
- log.debug("render template: " + xsltResource);
- renderer.setBaseDir(baseDir);
- renderer.render(inputFileName, outputFileName, xsltResource);
- ReportMailer mailer = new ReportMailer(
- getCriteria().getMailTo(),
- baseDir + "/" + \
outputFileName);
- mailer.send();
- }
-
- } catch (AvailabilityCalculationException ce) {
- log.fatal("Unable to calculate report data ", ce);
- } catch (MalformedURLException e) {
- log.fatal("Malformed URL for xslt template");
- } catch (ReportRenderException e) {
- log.fatal("unable to render report");
- } catch (IOException e) {
- log.fatal("unable to mail report");
- }
-
-
- }
-
- public void setCalendarCalculator(AvailabilityCalculator calculator) {
- m_calendarCalculator = calculator;
- }
-
- public void setClassicCalculator(AvailabilityCalculator calulator) {
- m_classicCalculator = calulator;
- }
-
- public void setCriteria(DatabaseReportCriteria criteria) {
- m_criteria = criteria;
- }
-
- public DatabaseReportCriteria getCriteria() {
- return m_criteria;
- }
-
- public void setConfigDao(OnmsDatabaseReportConfigDao configDao) {
- m_configDao = configDao;
- }
-
-}
Added: opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/ReportValidationService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/ReportValidationService.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-reporting/src/main/java/org/opennms/report/availability/svclayer/ReportValidationService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,45 @@
+/*
+ * This file is part of the OpenNMS(R) Application.
+ *
+ * OpenNMS(R) is Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+ * OpenNMS(R) is a derivative work, containing both original code, included code and \
modified + * code that was published under the GNU General Public License. Copyrights \
for modified + * and included code are below.
+ *
+ * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+ *
+ * Modifications:
+ *
+ * Created: November 23, 2009 jonathan@opennms.org
+ *
+ * Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * For more information contact:
+ * OpenNMS Licensing <license@opennms.org>
+ * http://www.opennms.org/
+ * http://www.opennms.com/
+ */
+package org.opennms.report.availability.svclayer;
+
+import java.util.HashMap;
+
+public interface ReportValidationService {
+
+ public abstract boolean validate(HashMap<String, Object> reportParms,
+ String reportID);
+
+}
Modified: opennms/branches/feature-reportd/opennms-reporting/src/main/resources/META-INF/opennms/applicationContext-reporting.xml
===================================================================
--- opennms/branches/feature-reportd/opennms-reporting/src/main/resources/META-INF/opennms/applicationContext-reporting.xml 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-reporting/src/main/resources/META-INF/opennms/applicationContext-reporting.xml 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -126,8 +126,8 @@
<property name="reportRunner" ref="availabilityReportRunner" />
</bean>
- <bean id="onmsDatabaseReportService"
- class="org.opennms.report.availability.svclayer.OnmsDatabaseReportService"
+ <bean id="onmsBatchDatabaseReportService"
+ class="org.opennms.report.availability.svclayer.OnmsBatchDatabaseReportService"
scope="prototype">
<property name="configDao" ref="onmsDatabaseReportConfigDao" />
<property name="calendarCalculator">
Modified: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/command/DatabaseReportCriteriaCommand.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/command/DatabaseReportCriteriaCommand.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/command/DatabaseReportCriteriaCommand.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -37,9 +37,9 @@
import java.util.Iterator;
-import org.opennms.netmgt.model.DatabaseReportCategoryParm;
-import org.opennms.netmgt.model.DatabaseReportCriteria;
-import org.opennms.netmgt.model.DatabaseReportDateParm;
+import org.opennms.web.report.database.model.DatabaseReportCriteria;
+import org.opennms.web.report.database.model.DatabaseReportDateParm;
+import org.opennms.web.report.database.model.DatabaseReportStringParm;
import org.springframework.binding.message.MessageBuilder;
import org.springframework.binding.message.MessageContext;
import org.springframework.binding.validation.ValidationContext;
@@ -68,19 +68,21 @@
public void validateReportParameters(ValidationContext context) {
MessageContext messages = context.getMessageContext();
- for (Iterator<DatabaseReportDateParm> dates = m_dates.iterator(); \
dates.hasNext();) {
- DatabaseReportDateParm dateParm = dates.next();
- if (dateParm.getDate() == null) {
- messages.addMessage(new \
MessageBuilder().error().source("dates"). + // this should be replaced \
with a call to validate on the reportengine bean +
+ for (Iterator<DatabaseReportDateParm> dateParms = \
m_dateParms.iterator(); dateParms.hasNext();) { + \
DatabaseReportDateParm dateParm = dateParms.next(); + if \
(dateParm.getValue() == null) { + messages.addMessage(new \
MessageBuilder().error().source("date parms").
defaultText("cannot have null date field" + \
dateParm.getDisplayName()).build()); }
}
- for (Iterator<DatabaseReportCategoryParm> categories = \
m_categories.iterator(); categories.hasNext();) {
- DatabaseReportCategoryParm catParm = categories.next();
- if (catParm.getCategory() == "" ) {
- messages.addMessage(new \
MessageBuilder().error().source("categories").
- defaultText("cannot have empty category \
field " + catParm.getDisplayName()).build()); + for \
(Iterator<DatabaseReportStringParm> stringParms = m_stringParms.iterator(); \
stringParms.hasNext();) { + DatabaseReportStringParm stringParm = \
stringParms.next(); + if (stringParm.getValue() == "" ) {
+ messages.addMessage(new MessageBuilder().error().source("string \
parms"). + defaultText("cannot have empty \
category field " + stringParm.getDisplayName()).build()); }
}
Added: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/BatchReportJob.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/BatchReportJob.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/BatchReportJob.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,78 @@
+/*
+ * This file is part of the OpenNMS(R) Application.
+ *
+ * OpenNMS(R) is Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+ * OpenNMS(R) is a derivative work, containing both original code, included code and \
modified + * code that was published under the GNU General Public License. Copyrights \
for modified + * and included code are below.
+ *
+ * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+ *
+ * Modifications:
+ *
+ * Created: November 17, 2009 jonathan@opennms.org
+ *
+ * Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * For more information contact:
+ * OpenNMS Licensing <license@opennms.org>
+ * http://www.opennms.org/
+ * http://www.opennms.com/
+ */
+
+package org.opennms.web.report.database;
+
+import org.opennms.report.availability.svclayer.BatchReportService;
+import org.opennms.web.report.database.model.DatabaseReportCriteria;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.scheduling.quartz.QuartzJobBean;
+
+public class BatchReportJob extends QuartzJobBean {
+
+ private ApplicationContext m_context;
+
+ @Override
+ protected void executeInternal(JobExecutionContext jobContext)
+ throws JobExecutionException {
+
+ JobDataMap dataMap = jobContext.getMergedJobDataMap();
+ DatabaseReportCriteria criteria = (DatabaseReportCriteria) \
dataMap.get("criteria"); +
+ BatchReportService reportService =
+ (BatchReportService)m_context.getBean((String)dataMap.get("reportServiceName"));
+
+ if (criteria.getSendMail() == true) {
+ reportService.runAndMail(criteria.getReportParms(),
+ criteria.getReportId(),
+ criteria.getMailTo(),
+ criteria.getMailFormat());
+ } else {
+ reportService.runAndPersist(criteria.getReportParms(),
+ criteria.getReportId());
+ }
+ }
+
+ public void setApplicationContext(ApplicationContext applicationContext) {
+ m_context = applicationContext;
+ }
+
+
+
+}
Deleted: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/ReportJob.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/ReportJob.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/ReportJob.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -1,70 +0,0 @@
-/*
- * This file is part of the OpenNMS(R) Application.
- *
- * OpenNMS(R) is Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
- * OpenNMS(R) is a derivative work, containing both original code, included code and \
modified
- * code that was published under the GNU General Public License. Copyrights for \
modified
- * and included code are below.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * Modifications:
- *
- * Created: November 17, 2009 jonathan@opennms.org
- *
- * Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For more information contact:
- * OpenNMS Licensing <license@opennms.org>
- * http://www.opennms.org/
- * http://www.opennms.com/
- */
-
-package org.opennms.web.report.database;
-
-import org.opennms.netmgt.model.DatabaseReportCriteria;
-import org.opennms.report.availability.svclayer.OnmsDatabaseReportService;
-import org.quartz.JobDataMap;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.scheduling.quartz.QuartzJobBean;
-
-public class ReportJob extends QuartzJobBean {
-
- private ApplicationContext m_context;
-
- @Override
- protected void executeInternal(JobExecutionContext jobContext)
- throws JobExecutionException {
-
- JobDataMap dataMap = jobContext.getMergedJobDataMap();
- DatabaseReportCriteria criteria = (DatabaseReportCriteria) \
dataMap.get("criteria");
-
- OnmsDatabaseReportService reportService = \
(OnmsDatabaseReportService)m_context.getBean("onmsDatabaseReportService");
-
- reportService.run(criteria);
-
- }
-
- public void setApplicationContext(ApplicationContext applicationContext) {
- m_context = applicationContext;
- }
-
-
-
-}
Copied: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportCriteria.java \
(from rev 15222, opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportCriteria.java)
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportCriteria.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportCriteria.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,145 @@
+//
+// This file is part of the OpenNMS(R) Application.
+//
+// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights reserved.
+// OpenNMS(R) is a derivative work, containing both original code, included code and \
modified +// code that was published under the GNU General Public License. Copyrights \
for modified +// and included code are below.
+//
+// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+//
+// Modifications:
+//
+// Created: November 9th, 2009 jonathan@opennms.org
+//
+// Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+// For more information contact:
+// OpenNMS Licensing <license@opennms.org>
+// http://www.opennms.org/
+// http://www.opennms.com/
+//
+package org.opennms.web.report.database.model;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+
+public class DatabaseReportCriteria implements Serializable {
+
+ private static final long serialVersionUID = -3848794546173077375L;
+ protected String m_reportId;
+ protected String m_displayName;
+ protected List <DatabaseReportDateParm> m_dateParms;
+ protected List <DatabaseReportStringParm> m_stringParms;
+ protected String m_mailTo;
+ protected Boolean m_persist;
+ protected Boolean m_sendMail;
+ protected String m_mailFormat;
+
+ public DatabaseReportCriteria() {
+ super();
+ }
+
+ public String getMailTo() {
+ return m_mailTo;
+ }
+
+ public void setMailTo(String email) {
+ m_mailTo = email;
+ }
+
+ public String getMailFormat() {
+ return m_mailFormat;
+ }
+
+ public void setMailFormat(String format) {
+ m_mailFormat = format;
+ }
+
+ public List<DatabaseReportDateParm> getDateParms() {
+ return m_dateParms;
+ }
+
+ public void setDateParms(List<DatabaseReportDateParm> dateParms) {
+ m_dateParms = dateParms;
+ }
+
+ public List<DatabaseReportStringParm> getStringParms() {
+ return m_stringParms;
+ }
+
+ public void setStringParms(List<DatabaseReportStringParm> strings) {
+ m_stringParms = strings;
+ }
+
+ public void setPersist(Boolean persist) {
+ m_persist = persist;
+ }
+
+ public Boolean getPersist() {
+ return m_persist;
+ }
+
+ public void setSendMail(Boolean sendEmail) {
+ m_sendMail = sendEmail;
+ }
+
+ public Boolean getSendMail() {
+ return m_sendMail;
+ }
+
+ public void setReportId(String reportId) {
+ m_reportId = reportId;
+ }
+
+ public String getReportId() {
+ return m_reportId;
+ }
+
+ public void setDisplayName(String displayName) {
+ m_displayName = displayName;
+ }
+
+ public String getDisplayName() {
+ return m_displayName;
+ }
+
+ public HashMap<String, Object> getReportParms() {
+
+ HashMap <String,Object>parmMap = new HashMap<String, Object>();
+
+ // Add all the strings from the report
+ Iterator<DatabaseReportStringParm>stringIter = m_stringParms.iterator();
+ while (stringIter.hasNext()) {
+ DatabaseReportStringParm parm = stringIter.next();
+ parmMap.put(parm.getName(), parm.getValue());
+ }
+
+ // Add all the dates from the report
+ Iterator<DatabaseReportDateParm>dateIter = m_dateParms.iterator();
+ while (dateIter.hasNext()) {
+ DatabaseReportDateParm parm = dateIter.next();
+ parmMap.put(parm.getName(), parm.getValue());
+ }
+
+ return parmMap;
+ }
+
+}
\ No newline at end of file
Copied: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportDateParm.java \
(from rev 15222, opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportDateParm.java)
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportDateParm.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportDateParm.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,85 @@
+//
+// This file is part of the OpenNMS(R) Application.
+//
+// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights reserved.
+// OpenNMS(R) is a derivative work, containing both original code, included code and \
modified +// code that was published under the GNU General Public License. Copyrights \
for modified +// and included code are below.
+//
+// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+//
+// Modifications:
+//
+// Created: October 5th, 2009 jonathan@opennms.org
+//
+// Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+// For more information contact:
+// OpenNMS Licensing <license@opennms.org>
+// http://www.opennms.org/
+// http://www.opennms.com/
+//
+package org.opennms.web.report.database.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class DatabaseReportDateParm extends DatabaseReportParm implements \
Serializable { +
+ private static final long serialVersionUID = -8528562178984136887L;
+
+ Date m_date;
+ Boolean m_useAbsoluteDate;
+ String m_interval;
+ Integer m_count;
+
+ public DatabaseReportDateParm() {
+ super();
+ }
+
+ public Boolean getUseAbsoluteDate() {
+ return m_useAbsoluteDate;
+ }
+
+ public void setUseAbsoluteDate(Boolean useAbsoluteDate) {
+ m_useAbsoluteDate = useAbsoluteDate;
+ }
+
+ public String getInterval() {
+ return m_interval;
+ }
+
+ public void setInterval(String interval) {
+ m_interval = interval;
+ }
+
+ public Integer getCount() {
+ return m_count;
+ }
+
+ public void setCount(Integer count) {
+ m_count = count;
+ }
+
+ public Date getValue() {
+ return m_date;
+ }
+ public void setValue(Date date) {
+ m_date = date;
+ }
+
+}
Copied: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportParm.java \
(from rev 15222, opennms/branches/feature-reportd/opennms-model/src/main/java/org/opennms/netmgt/model/DatabaseReportParm.java)
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportParm.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportParm.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,63 @@
+//
+// This file is part of the OpenNMS(R) Application.
+//
+// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights reserved.
+// OpenNMS(R) is a derivative work, containing both original code, included code and \
modified +// code that was published under the GNU General Public License. Copyrights \
for modified +// and included code are below.
+//
+// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+//
+// Modifications:
+//
+// Created: October 5th, 2009 jonathan@opennms.org
+//
+// Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+// For more information contact:
+// OpenNMS Licensing <license@opennms.org>
+// http://www.opennms.org/
+// http://www.opennms.com/
+//
+package org.opennms.web.report.database.model;
+
+import java.io.Serializable;
+
+public class DatabaseReportParm implements Serializable {
+
+ private static final long serialVersionUID = -7987984390575422836L;
+
+ String m_name;
+ String m_displayName;
+
+ public String getName() {
+ return m_name;
+ }
+
+ public void setName(String name) {
+ m_name = name;
+ }
+
+ public String getDisplayName() {
+ return m_displayName;
+ }
+
+ public void setDisplayName(String displayName) {
+ m_displayName = displayName;
+ }
+
+}
\ No newline at end of file
Added: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportStringParm.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportStringParm.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/report/database/model/DatabaseReportStringParm.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,67 @@
+//
+// This file is part of the OpenNMS(R) Application.
+//
+// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights reserved.
+// OpenNMS(R) is a derivative work, containing both original code, included code and \
modified +// code that was published under the GNU General Public License. Copyrights \
for modified +// and included code are below.
+//
+// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+//
+// Modifications:
+//
+// Created: October 5th, 2009 jonathan@opennms.org
+//
+// Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+// For more information contact:
+// OpenNMS Licensing <license@opennms.org>
+// http://www.opennms.org/
+// http://www.opennms.com/
+//
+package org.opennms.web.report.database.model;
+
+import java.io.Serializable;
+
+public class DatabaseReportStringParm extends DatabaseReportParm implements \
Serializable { +
+
+ private static final long serialVersionUID = -2057597127243217834L;
+
+ String m_value;
+ String m_type;
+
+ public DatabaseReportStringParm() {
+ super();
+ }
+
+ public String getValue() {
+ return m_value;
+ }
+
+ public void setValue(String value) {
+ m_value = value;
+ }
+
+ public String getInputType() {
+ return m_type;
+ }
+ public void setInputType(String type) {
+ m_type = type;
+ }
+
+}
Modified: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/DatabaseReportCriteriaService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/DatabaseReportCriteriaService.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/DatabaseReportCriteriaService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -36,8 +36,8 @@
package org.opennms.web.svclayer;
import org.opennms.netmgt.dao.DatabaseReportConfigDao;
-import org.opennms.netmgt.model.DatabaseReportCriteria;
import org.opennms.web.command.DatabaseReportCriteriaCommand;
+import org.opennms.web.report.database.model.DatabaseReportCriteria;
public interface DatabaseReportCriteriaService {
Modified: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/DatabaseReportService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/DatabaseReportService.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/DatabaseReportService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -35,7 +35,7 @@
*/
package org.opennms.web.svclayer;
-import org.opennms.netmgt.model.DatabaseReportCriteria;
+import org.opennms.web.report.database.model.DatabaseReportCriteria;
import org.springframework.webflow.execution.RequestContext;
public interface DatabaseReportService {
Modified: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportCriteriaService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportCriteriaService.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportCriteriaService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -43,11 +43,13 @@
import org.exolab.castor.xml.ValidationException;
import org.opennms.netmgt.config.UserFactory;
import org.opennms.netmgt.config.UserManager;
+import org.opennms.netmgt.config.databaseReports.DateParm;
import org.opennms.netmgt.config.databaseReports.ReportParm;
+import org.opennms.netmgt.config.databaseReports.StringParm;
import org.opennms.netmgt.dao.DatabaseReportConfigDao;
-import org.opennms.netmgt.model.DatabaseReportCategoryParm;
-import org.opennms.netmgt.model.DatabaseReportDateParm;
import org.opennms.web.command.DatabaseReportCriteriaCommand;
+import org.opennms.web.report.database.model.DatabaseReportDateParm;
+import org.opennms.web.report.database.model.DatabaseReportStringParm;
import org.opennms.web.svclayer.DatabaseReportCriteriaService;
public class DefaultDatabaseReportCriteriaService implements
@@ -59,42 +61,52 @@
DatabaseReportCriteriaCommand command = new DatabaseReportCriteriaCommand();
+ // TODO Extract this lot into a deliveryOptions object
command.setReportId(id);
command.setDisplayName(m_dao.getDisplayName(id));
command.setMailFormat("HTML");
command.setPersist(true);
command.setSendMail(true);
-
- ReportParm[] dates = m_dao.getDates(id);
+ ArrayList<DatabaseReportDateParm> dateParms = new \
ArrayList<DatabaseReportDateParm>(); + DateParm[] dates = \
m_dao.getDateParms(id); if (dates.length > 0) {
- ArrayList<DatabaseReportDateParm> dateParms = new \
ArrayList<DatabaseReportDateParm>();; for (int i = 0 ; i < dates.length ; i++ ) {
DatabaseReportDateParm dateParm = new DatabaseReportDateParm();
- //dateParm.setDisplayName(dates[i].getDisplayName());
dateParm.setDisplayName(dates[i].getDisplayName());
dateParm.setName(dates[i].getName());
+ dateParm.setCount(new Integer((int) dates[i].getDefaultCount()));
+ dateParm.setInterval(dates[i].getDefaultInterval());
Calendar cal = Calendar.getInstance();
- dateParm.setDate(cal.getTime());
+ int amount = 0 - dates[i].getDefaultCount();
+ if (dates[i].getDefaultInterval().equals("year")) {
+ cal.add(Calendar.YEAR, amount);
+ } else {
+ if (dates[i].getDefaultInterval().equals("year")) {
+ cal.add(Calendar.MONTH, amount);
+ } else {
+ cal.add(Calendar.DATE, amount);
+ }
+ }
+ dateParm.setValue(cal.getTime());
dateParms.add(dateParm);
-
}
-
- command.setDates(dateParms);
}
+ command.setDateParms(dateParms);
- ReportParm[] categories = m_dao.getReportCategories(id);
- if (categories.length > 0) {
- ArrayList<DatabaseReportCategoryParm> catParms = new \
ArrayList<DatabaseReportCategoryParm>();;
- for (int i = 0 ; i < categories.length ; i++ ) {
- DatabaseReportCategoryParm catParm = new \
DatabaseReportCategoryParm();
- catParm.setDisplayName(categories[i].getDisplayName());
- catParm.setName(categories[i].getName());
- catParm.setCategory("Network Interfaces");
- catParms.add(catParm);
+ ArrayList<DatabaseReportStringParm> stringParms = new \
ArrayList<DatabaseReportStringParm>(); + StringParm[] strings = \
m_dao.getStringParms(id); + if (strings.length > 0) {
+ for (int i = 0 ; i < strings.length ; i++ ) {
+ DatabaseReportStringParm stringParm = new \
DatabaseReportStringParm(); + \
stringParm.setDisplayName(strings[i].getDisplayName()); + \
stringParm.setName(strings[i].getName()); + \
stringParm.setInputType(strings[i].getInputType()); + \
stringParm.setValue(strings[i].getDefault()); + \
stringParms.add(stringParm); }
- command.setCategories(catParms);
}
+ command.setStringParms(stringParms);
UserManager userFactory = UserFactory.getInstance();
try {
Modified: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportListService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportListService.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportListService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -53,7 +53,7 @@
for(Report report : m_dao.getReports()) {
DatabaseReportDescription summary = new DatabaseReportDescription();
- summary.setId(report.getReportName());
+ summary.setId(report.getId());
summary.setDisplayName(report.getDisplayName());
summary.setDescription(report.getDescription());
summaryList.add(summary);
Deleted: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportService.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/DefaultDatabaseReportService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -1,98 +0,0 @@
-/*
- * This file is part of the OpenNMS(R) Application.
- *
- * OpenNMS(R) is Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
- * OpenNMS(R) is a derivative work, containing both original code, included code and \
modified
- * code that was published under the GNU General Public License. Copyrights for \
modified
- * and included code are below.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * Modifications:
- *
- * Created: Oct 26, 2009
- *
- * TODO Remove this class when we're totally happy about the \
QuartzReportReportService
- *
- * Copyright (C) 2009 The OpenNMS Group, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * For more information contact:
- * OpenNMS Licensing <license@opennms.org>
- * http://www.opennms.org/
- * http://www.opennms.com/
- */
-package org.opennms.web.svclayer.support;
-
-import java.util.List;
-
-import org.opennms.netmgt.model.DatabaseReportCategoryParm;
-import org.opennms.netmgt.model.DatabaseReportCriteria;
-import org.opennms.netmgt.model.DatabaseReportDateParm;
-import org.opennms.report.availability.svclayer.OnmsDatabaseReportService;
-import org.opennms.web.svclayer.DatabaseReportService;
-import org.springframework.binding.message.MessageBuilder;
-import org.springframework.webflow.execution.RequestContext;
-
-/**
- * @author user
- *
- */
-public class DefaultDatabaseReportService implements DatabaseReportService {
-
- private static final String DATE_NAME = "endDate";
- private static final String CATEGORY_NAME = "reportCategory";
-
- private static final String SUCCESS = "success";
- private static final String ERROR = "error";
- private static final String CATEGORY_ERROR =
- "Report definition must have only one category parameter, with name " + \
CATEGORY_NAME;
- private static final String DATE_ERROR =
- "Report definition must have only one date parameter, with name " + \
DATE_NAME;
-
- OnmsDatabaseReportService m_reportRunner;
-
- /* (non-Javadoc)
- * @see org.opennms.web.svclayer.DatabaseReportService#execute(org.opennms.web.svclayer.support.DatabaseReportCriteria)
- */
- public String execute(DatabaseReportCriteria criteria, RequestContext context) {
-
- List <DatabaseReportCategoryParm> categories = criteria.getCategories();
- if ((categories.size() != 1) || \
(!categories.get(0).getName().equals(CATEGORY_NAME))) {
- context.getMessageContext().addMessage(new MessageBuilder().error()
- \
.defaultText(CATEGORY_ERROR).build());
- return ERROR;
- } else {
- List <DatabaseReportDateParm> dates = criteria.getDates();
- if ((dates.size() != 1) || (!dates.get(0).getName().equals(DATE_NAME))) \
{
- context.getMessageContext().addMessage(new MessageBuilder().error()
- \
.defaultText(DATE_ERROR).build());
- return ERROR;
- } else {
-
- m_reportRunner.setCriteria(criteria);
- new Thread(m_reportRunner).start();
- return SUCCESS;
- }
- }
-
- }
-
- public void setReportRunner(OnmsDatabaseReportService reportRunner) {
- m_reportRunner = reportRunner;
- }
-
-}
Modified: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/QuartzDatabaseReportService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/QuartzDatabaseReportService.java 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/QuartzDatabaseReportService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -36,37 +36,32 @@
package org.opennms.web.svclayer.support;
import java.util.Date;
-import java.util.List;
-import org.opennms.netmgt.model.DatabaseReportCategoryParm;
-import org.opennms.netmgt.model.DatabaseReportCriteria;
-import org.opennms.netmgt.model.DatabaseReportDateParm;
+import org.opennms.netmgt.dao.DatabaseReportConfigDao;
+import org.opennms.report.availability.svclayer.BatchReportService;
+import org.opennms.web.report.database.model.DatabaseReportCriteria;
import org.opennms.web.svclayer.DatabaseReportService;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SimpleTrigger;
import org.springframework.binding.message.MessageBuilder;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
import org.springframework.webflow.execution.RequestContext;
-public class QuartzDatabaseReportService implements DatabaseReportService {
+public class QuartzDatabaseReportService implements DatabaseReportService, \
ApplicationContextAware {
-
- private static final String DATE_NAME = "endDate";
- private static final String CATEGORY_NAME = "reportCategory";
-
private static final String SUCCESS = "success";
private static final String ERROR = "error";
- private static final String CATEGORY_ERROR =
- "Report definition must have only one category parameter, with name " + \
CATEGORY_NAME;
- private static final String DATE_ERROR =
- "Report definition must have only one date parameter, with name " + \
DATE_NAME; + private static final String PARAMETER_ERROR =
+ "Report parameters did not match the definition for the report please \
contact your OpenNMS administrator"; private static final String SCHEDULER_ERROR =
"An exception occurred when scheduling the report";
- JobDetail m_jobDetail;
-
- Scheduler m_scheduler;
+ private JobDetail m_jobDetail;
+ private Scheduler m_scheduler;
+ private ApplicationContext m_context;
/* (non-Javadoc)
* @see org.opennms.web.svclayer.DatabaseReportService#execute(org.opennms.web.svclayer.support.DatabaseReportCriteria)
@@ -74,39 +69,34 @@
public String execute(DatabaseReportCriteria criteria, RequestContext context) {
- List <DatabaseReportCategoryParm> categories = criteria.getCategories();
- if ((categories.size() != 1) || \
(!categories.get(0).getName().equals(CATEGORY_NAME))) { + String \
reportServiceName = (String)context.getFlowScope().get("reportServiceName"); + \
+ BatchReportService reportService = \
(BatchReportService)m_context.getBean(reportServiceName); +
+ if (reportService.validate(criteria.getReportParms(), \
criteria.getReportId()) == false) {
context.getMessageContext().addMessage(new MessageBuilder().error()
- \
.defaultText(CATEGORY_ERROR).build()); + \
.defaultText(PARAMETER_ERROR).build()); return ERROR;
} else {
- List <DatabaseReportDateParm> dates = criteria.getDates();
- if ((dates.size() != 1) || (!dates.get(0).getName().equals(DATE_NAME))) \
{ + SimpleTrigger trigger = new SimpleTrigger("immediateTrigger",
+ null,
+ new Date(),
+ null,
+ 0,
+ 0L);
+ trigger.getJobDataMap().put("criteria", criteria);
+ trigger.getJobDataMap().put("reportServiceName", reportServiceName);
+ try {
+ m_scheduler.scheduleJob(m_jobDetail, trigger);
+ } catch (SchedulerException e) {
+ e.printStackTrace();
context.getMessageContext().addMessage(new MessageBuilder().error()
- \
.defaultText(DATE_ERROR).build());
- return ERROR;
- } else {
- SimpleTrigger trigger = new SimpleTrigger("immediateTrigger",
- null,
- new Date(),
- null,
- 0,
- 0L);
- m_jobDetail.getJobDataMap().put("criteria", criteria);
- try {
- m_scheduler.scheduleJob(m_jobDetail, trigger);
- } catch (SchedulerException e) {
- e.printStackTrace();
- context.getMessageContext().addMessage(new \
MessageBuilder().error()
- \
.defaultText(SCHEDULER_ERROR).build());
- return ERROR;
- }
-
-
- return SUCCESS;
+ \
.defaultText(SCHEDULER_ERROR).build()); + return ERROR;
}
+
+ return SUCCESS;
}
-
}
public void setJobDetail(JobDetail reportJob) {
@@ -116,5 +106,9 @@
public void setScheduler(Scheduler scheduler) {
m_scheduler = scheduler;
}
+
+ public void setApplicationContext(ApplicationContext applicationContext) {
+ m_context = applicationContext;
+ }
}
Added: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/QuartzSchedulerService.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/QuartzSchedulerService.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/QuartzSchedulerService.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,61 @@
+package org.opennms.web.svclayer.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+
+
+public class QuartzSchedulerService {
+
+ private Scheduler m_scheduler;
+
+
+ public List<TriggerDescription> getAll() {
+
+ String [] triggerGroups;
+
+ List<TriggerDescription> triggerList = new ArrayList<TriggerDescription>();
+
+ try {
+ triggerGroups = m_scheduler.getTriggerGroupNames();
+ for (int j = 0; j < triggerGroups.length; j++) {
+ triggerList.addAll(this.get(triggerGroups[j]));
+ }
+ } catch (SchedulerException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+
+ return triggerList;
+
+
+ }
+
+ public List<TriggerDescription> get(String triggerGroup) {
+
+ String [] triggers;
+
+ List<TriggerDescription> triggerList = new ArrayList<TriggerDescription>();
+
+ try {
+ triggers = m_scheduler.getTriggerNames(triggerGroup);
+ for (int j = 0; j < triggers.length; j++) {
+ TriggerDescription trigger = new TriggerDescription();
+ trigger.setGroup(triggerGroup);
+ trigger.setName(triggers[j]);
+ triggerList.add(trigger);
+ }
+ } catch (SchedulerException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ return triggerList;
+
+
+ }
+
+}
Added: opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/TriggerDescription.java
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/TriggerDescription.java \
(rev 0)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/java/org/opennms/web/svclayer/support/TriggerDescription.java 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -0,0 +1,29 @@
+package org.opennms.web.svclayer.support;
+
+public class TriggerDescription {
+
+ private String m_name;
+ private String m_group;
+ private String m_description;
+ public String getName() {
+ return m_name;
+ }
+ public void setName(String name) {
+ m_name = name;
+ }
+ public String getGroup() {
+ return m_group;
+ }
+ public void setGroup(String group) {
+ m_group = group;
+ }
+ public String getDescription() {
+ return m_description;
+ }
+ public void setDescription(String description) {
+ m_description = description;
+ }
+
+
+
+}
Modified: opennms/branches/feature-reportd/opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -242,16 +242,10 @@
<ref local="schedulerFactory" />
</property>
<property name="jobDetail">
- <ref local="onmsReportJobDetail" />
+ <ref local="batchReportJobDetail" />
</property>
</bean>
- <!-- this can be removed when the quartz service runs happily -->
-
- <bean id="DatabaseReportService" \
class="org.opennms.web.svclayer.support.DefaultDatabaseReportService">
- <property name="reportRunner" ref="onmsDatabaseReportService" />
- </bean>
-
<bean id="schedulerFactory" \
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property \
name="schedulerName" value="databaseReport" /> <property name="dataSource" \
ref="dataSource" /> @@ -279,9 +273,9 @@
</property>
</bean>
- <bean id="onmsReportJobDetail" \
class="org.springframework.scheduling.quartz.JobDetailBean"> + <bean \
id="batchReportJobDetail" \
class="org.springframework.scheduling.quartz.JobDetailBean"> <property \
name="jobClass">
- <value>org.opennms.web.report.database.ReportJob</value>
+ <value>org.opennms.web.report.database.BatchReportJob</value>
</property>
</bean>
Modified: opennms/branches/feature-reportd/opennms-webapp/src/main/webapp/WEB-INF/flows/report/database/databaseReportBuilder/databaseReportBuilder-flow.xml
===================================================================
--- opennms/branches/feature-reportd/opennms-webapp/src/main/webapp/WEB-INF/flows/report/database/databaseReportBuilder/databaseReportBuilder-flow.xml 2009-11-30 \
16:07:06 UTC (rev 15307)
+++ opennms/branches/feature-reportd/opennms-webapp/src/main/webapp/WEB-INF/flows/report/database/databaseReportBuilder/databaseReportBuilder-flow.xml 2009-11-30 \
21:04:18 UTC (rev 15308) @@ -9,6 +9,7 @@
<input name="reportId" required="true" />
<on-start>
+ <evaluate expression="databaseReportConfigDao.getReportService(reportId)" \
result="flowScope.reportServiceName" /> <evaluate \
expression="databaseReportCriteriaService.getCriteria(reportId, currentUser.name)" \
result="flowScope.criteria" /> </on-start>
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.
------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing.
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic