wip mifosx-195 add report template ability

This commit is contained in:
John Woodlock
2013-04-17 17:19:53 +01:00
parent 9a8476b6cd
commit a7c72a89b0
2 changed files with 64 additions and 3 deletions
@@ -97,6 +97,28 @@ public class ReportsApiResource {
final ReportData result = this.readExtraDataAndReportingService
.retrieveReport(id);
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper
.process(uriInfo.getQueryParameters());
if (settings.isTemplate()) {
result.appendedTemplate();
}
return this.toApiJsonSerializer.serialize(settings, result,
RESPONSE_DATA_PARAMETERS);
}
@GET
@Path("template")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public String retrieveOfficeTemplate(@Context final UriInfo uriInfo) {
context.authenticatedUser().validateHasReadPermission(
resourceNameForPermissions);
ReportData result = new ReportData();
result.appendedTemplate();
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper
.process(uriInfo.getQueryParameters());
return this.toApiJsonSerializer.serialize(settings, result,
@@ -5,7 +5,9 @@
*/
package org.mifosplatform.infrastructure.dataqueries.data;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
final public class ReportData {
@@ -30,10 +32,16 @@ final public class ReportData {
@SuppressWarnings("unused")
private final Collection<ReportParameterData> reportParameters;
@SuppressWarnings("unused")
private List<String> allowedReportTypes;
@SuppressWarnings("unused")
private List<String> allowedReportSubTypes;
public ReportData(final Long id, final String reportName,
final String reportType, final String reportSubType,
final String reportCategory, final String description, final String reportSql,
final Boolean coreReport, final Boolean useReport,
final String reportCategory, final String description,
final String reportSql, final Boolean coreReport,
final Boolean useReport,
final Collection<ReportParameterData> reportParameters) {
this.id = id;
this.reportName = reportName;
@@ -45,6 +53,37 @@ final public class ReportData {
this.reportSql = reportSql;
this.coreReport = coreReport;
this.useReport = useReport;
this.allowedReportTypes = null;
this.allowedReportSubTypes = null;
}
public ReportData() {
this.id = null;
this.reportName = null;
this.reportType = null;
this.reportSubType = null;
this.reportCategory = null;
this.description = null;
this.reportParameters = null;
this.reportSql = null;
this.coreReport = null;
this.useReport = null;
this.allowedReportTypes = null;
this.allowedReportSubTypes = null;
}
public void appendedTemplate() {
List<String> reportTypes = new ArrayList<String>();
reportTypes.add("Table");
reportTypes.add("Pentaho");
reportTypes.add("Chart");
this.allowedReportTypes = reportTypes;
List<String> reportSubTypes = new ArrayList<String>();
reportSubTypes.add("Bar");
reportSubTypes.add("Pie");
this.allowedReportSubTypes = reportSubTypes;
}
}