FINERACT-1345: Fixing support for parameterType reports
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/RunreportsApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/RunreportsApiResource.java
index 0f0c4c5..a3dd2e8 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/RunreportsApiResource.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/RunreportsApiResource.java
@@ -105,7 +105,7 @@
// Pass through isSelfServiceUserReport so that ReportingProcessService implementations can use it
queryParams.putSingle(IS_SELF_SERVICE_USER_REPORT_PARAMETER, Boolean.toString(isSelfServiceUserReport));
- String reportType = this.readExtraDataAndReportingService.getReportType(reportName, isSelfServiceUserReport);
+ String reportType = this.readExtraDataAndReportingService.getReportType(reportName, isSelfServiceUserReport, parameterType);
ReportingProcessService reportingProcessService = this.reportingProcessServiceProvider.findReportingProcessService(reportType);
if (reportingProcessService == null) {
throw new PlatformServiceUnavailableException("err.msg.report.service.implementation.missing",
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingService.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingService.java
index cf4b383..ab36113 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingService.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingService.java
@@ -34,7 +34,7 @@
ReportData retrieveReport(Long id);
- String getReportType(String reportName, boolean isSelfServiceUserReport);
+ String getReportType(String reportName, boolean isSelfServiceUserReport, boolean isParameterType);
Collection<ReportParameterData> getAllowedParameters();
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingServiceImpl.java
index cd538e3..c12df88 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingServiceImpl.java
@@ -212,7 +212,11 @@
}
@Override
- public String getReportType(final String reportName, final boolean isSelfServiceUserReport) {
+ public String getReportType(final String reportName, final boolean isSelfServiceUserReport, final boolean isParameterType) {
+ if (isParameterType) {
+ return "Table";
+ }
+
final String sql = "SELECT ifNull(report_type,'') AS report_type FROM `stretchy_report` WHERE report_name = ? AND self_service_user_report = ?";
final String sqlWrapped = this.genericDataService.wrapSQL(sql);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java
index 1de29e3..241d0e6 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java
@@ -441,7 +441,7 @@
try {
final boolean isSelfServiceUserReport = false;
- final String reportType = this.readReportingService.getReportType(reportName, isSelfServiceUserReport);
+ final String reportType = this.readReportingService.getReportType(reportName, isSelfServiceUserReport, false);
final ReportingProcessService reportingProcessService = this.reportingProcessServiceProvider
.findReportingProcessService(reportType);