From a7c72a89b01da0ea45f8b98abe2cb08c9b1b318c Mon Sep 17 00:00:00 2001 From: John Woodlock Date: Wed, 17 Apr 2013 17:18:53 +0100 Subject: [PATCH] wip mifosx-195 add report template ability --- .../dataqueries/api/ReportsApiResource.java | 22 +++++++++ .../dataqueries/data/ReportData.java | 45 +++++++++++++++++-- 2 files changed, 64 insertions(+), 3 deletions(-) diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/ReportsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/ReportsApiResource.java index 371966b7b..549efe454 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/ReportsApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/ReportsApiResource.java @@ -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, diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/data/ReportData.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/data/ReportData.java index 44e0bad9b..0b8ac8927 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/data/ReportData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/data/ReportData.java @@ -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 reportParameters; + @SuppressWarnings("unused") + private List allowedReportTypes; + @SuppressWarnings("unused") + private List 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 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 reportTypes = new ArrayList(); + reportTypes.add("Table"); + reportTypes.add("Pentaho"); + reportTypes.add("Chart"); + this.allowedReportTypes = reportTypes; + + List reportSubTypes = new ArrayList(); + reportSubTypes.add("Bar"); + reportSubTypes.add("Pie"); + this.allowedReportSubTypes = reportSubTypes; + } + } \ No newline at end of file