← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 4609: Moved code for report rendering to service layer. Implemented ReportResource in web api.

 

Merge authors:
  Lars Helge Øverland (larshelge)
------------------------------------------------------------
revno: 4609 [merge]
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sun 2011-09-18 16:36:11 +0200
message:
  Moved code for report rendering to service layer. Implemented ReportResource in web api.
added:
  dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/ResponseUtils.java
  dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ReportResource.java
renamed:
  dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/util/JRExportUtils.java => dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/JRExportUtils.java
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/ReportService.java
  dhis-2/dhis-services/dhis-service-reporting/pom.xml
  dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/impl/DefaultReportService.java
  dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-support/dhis-support-system/pom.xml
  dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ChartResource.java
  dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/reportviewer/action/RenderReportAction.java
  dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/JRExportUtils.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/ReportService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/ReportService.java	2011-07-21 03:29:35 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/ReportService.java	2011-09-18 14:36:11 +0000
@@ -27,10 +27,10 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import java.io.OutputStream;
 import java.util.Collection;
 
-import org.hisp.dhis.report.Report;
-import org.hisp.dhis.report.ReportGroup;
+import org.hisp.dhis.i18n.I18nFormat;
 
 /**
  * @author Lars Helge Overland
@@ -39,7 +39,13 @@
 public interface ReportService
 {
     final String ID = ReportService.class.getName();
+    
+    final String REPORTTYPE_PDF = "pdf";
+    final String REPORTTYPE_XLS = "xls";
 
+    public void renderReport( OutputStream out, Report report, Integer reportingPeriod, 
+        Integer organisationUnitId, String type, I18nFormat format );
+    
     /**
      * Saves a Report.
      * 

=== modified file 'dhis-2/dhis-services/dhis-service-reporting/pom.xml'
--- dhis-2/dhis-services/dhis-service-reporting/pom.xml	2011-08-28 17:52:59 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/pom.xml	2011-09-16 16:54:03 +0000
@@ -38,6 +38,21 @@
       <artifactId>dhis-service-mapping</artifactId>
     </dependency>
     
+    <!-- JasperReports -->
+
+    <dependency>
+      <groupId>net.sf.jasperreports</groupId>
+      <artifactId>jasperreports</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jfree</groupId>
+      <artifactId>jfreechart</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.poi</groupId>
+      <artifactId>poi</artifactId>
+    </dependency>
+    
     <!-- Other -->
     
     <dependency>

=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/impl/DefaultReportService.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/impl/DefaultReportService.java	2011-07-21 03:29:35 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/impl/DefaultReportService.java	2011-09-18 14:36:11 +0000
@@ -27,15 +27,33 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import java.io.OutputStream;
+import java.sql.Connection;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.Iterator;
-
+import java.util.Map;
+
+import net.sf.jasperreports.engine.JasperCompileManager;
+import net.sf.jasperreports.engine.JasperFillManager;
+import net.sf.jasperreports.engine.JasperPrint;
+import net.sf.jasperreports.engine.JasperReport;
+
+import org.amplecode.quick.StatementManager;
 import org.hisp.dhis.common.GenericIdentifiableObjectStore;
+import org.hisp.dhis.common.Grid;
+import org.hisp.dhis.constant.ConstantService;
+import org.hisp.dhis.i18n.I18nFormat;
+import org.hisp.dhis.organisationunit.OrganisationUnitGroupService;
 import org.hisp.dhis.report.Report;
 import org.hisp.dhis.report.ReportGroup;
 import org.hisp.dhis.report.ReportService;
+import org.hisp.dhis.reporttable.ReportTable;
+import org.hisp.dhis.reporttable.ReportTableService;
 import org.hisp.dhis.system.util.Filter;
 import org.hisp.dhis.system.util.FilterUtils;
+import org.hisp.dhis.system.util.JRExportUtils;
+import org.hisp.dhis.system.util.StreamUtils;
 import org.springframework.transaction.annotation.Transactional;
 
 /**
@@ -64,10 +82,86 @@
         this.reportGroupStore = reportGroupStore;
     }
 
-    // -------------------------------------------------------------------------
-    // Implements
-    // -------------------------------------------------------------------------
-
+    private ReportTableService reportTableService;
+    
+    public void setReportTableService( ReportTableService reportTableService )
+    {
+        this.reportTableService = reportTableService;
+    }
+
+    private ConstantService constantService;
+    
+    public void setConstantService( ConstantService constantService )
+    {
+        this.constantService = constantService;
+    }
+
+    private StatementManager statementManager;
+
+    public void setStatementManager( StatementManager statementManager )
+    {
+        this.statementManager = statementManager;
+    }
+
+    private OrganisationUnitGroupService organisationUnitGroupService;
+
+    public void setOrganisationUnitGroupService( OrganisationUnitGroupService organisationUnitGroupService )
+    {
+        this.organisationUnitGroupService = organisationUnitGroupService;
+    }
+
+    // -------------------------------------------------------------------------
+    // ReportService implementation
+    // -------------------------------------------------------------------------
+
+    public void renderReport( OutputStream out, Report report, Integer reportingPeriod, 
+        Integer organisationUnitId, String type, I18nFormat format )
+    {
+        Map<String, Object> params = new HashMap<String, Object>();
+        
+        params.putAll( constantService.getConstantParameterMap() );
+        
+        try
+        {
+            JasperReport jasperReport = JasperCompileManager.compileReport( StreamUtils.getInputStream( report.getDesignContent() ) );
+            
+            JasperPrint print = null;
+    
+            if ( report.hasReportTable() ) // Use JR data source
+            {
+                ReportTable reportTable = report.getReportTable();
+                
+                params.putAll( reportTable.getOrganisationUnitGroupMap( organisationUnitGroupService.getCompulsoryOrganisationUnitGroupSets() ) );
+                
+                Grid grid = reportTableService.getReportTableGrid( reportTable.getId(), format, reportingPeriod, organisationUnitId );
+                
+                print = JasperFillManager.fillReport( jasperReport, params, grid );
+            }
+            else // Assume SQL report and provide JDBC connection
+            {
+                Connection connection = statementManager.getHolder().getConnection();
+                
+                try
+                {
+                    print = JasperFillManager.fillReport( jasperReport, params, connection );
+                }
+                finally
+                {        
+                    connection.close();
+                }
+            }
+            
+            if ( print != null )
+            {
+                JRExportUtils.export( type, out, print );
+            }
+        }
+        catch ( Exception ex )
+        {
+            throw new RuntimeException( "Failed to render report", ex );
+        }
+    }
+    
     public int saveReport( Report report )
     {
         return reportStore.save( report );

=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml	2011-08-25 08:52:40 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml	2011-09-16 16:54:03 +0000
@@ -56,6 +56,10 @@
   <bean id="org.hisp.dhis.report.ReportService" class="org.hisp.dhis.report.impl.DefaultReportService">
     <property name="reportStore" ref="org.hisp.dhis.report.ReportStore" />
     <property name="reportGroupStore" ref="org.hisp.dhis.report.ReportGroupStore" />
+	<property name="reportTableService" ref="org.hisp.dhis.reporttable.ReportTableService" />
+	<property name="constantService" ref="org.hisp.dhis.constant.ConstantService" />
+    <property name="statementManager" ref="statementManager" />
+	<property name="organisationUnitGroupService" ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
   </bean>
     
   <!-- Chart -->

=== modified file 'dhis-2/dhis-support/dhis-support-system/pom.xml'
--- dhis-2/dhis-support/dhis-support-system/pom.xml	2011-08-28 17:52:59 +0000
+++ dhis-2/dhis-support/dhis-support-system/pom.xml	2011-09-16 16:54:03 +0000
@@ -30,6 +30,21 @@
       <artifactId>dhis-support-test</artifactId>
     </dependency>
     
+    <!-- JasperReports -->
+
+    <dependency>
+      <groupId>net.sf.jasperreports</groupId>
+      <artifactId>jasperreports</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jfree</groupId>
+      <artifactId>jfreechart</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.poi</groupId>
+      <artifactId>poi</artifactId>
+    </dependency>
+    
     <!-- Other -->
     
     <dependency>
@@ -101,10 +116,6 @@
       <artifactId>jxl</artifactId>
     </dependency>
     <dependency>
-      <groupId>net.sf.jasperreports</groupId>
-      <artifactId>jasperreports</artifactId>
-    </dependency>
-    <dependency>
       <groupId>velocity</groupId>
       <artifactId>velocity</artifactId>
     </dependency>

=== renamed file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/util/JRExportUtils.java' => 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/JRExportUtils.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/util/JRExportUtils.java	2011-07-12 12:15:23 +0000
+++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/JRExportUtils.java	2011-09-16 16:54:03 +0000
@@ -1,4 +1,4 @@
-package org.hisp.dhis.util;
+package org.hisp.dhis.system.util;
 
 /*
  * Copyright (c) 2004-2010, University of Oslo

=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/ResponseUtils.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/ResponseUtils.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/ResponseUtils.java	2011-09-18 14:36:11 +0000
@@ -0,0 +1,29 @@
+package org.hisp.dhis.web.api;
+
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
+
+import org.hisp.dhis.system.util.DateUtils;
+
+public class ResponseUtils
+{
+    public static ResponseBuilder response( boolean disallowCache,
+        String filename, boolean attachment )
+    {
+        ResponseBuilder builder = Response.ok();
+        
+        if ( disallowCache )
+        {
+            builder.header( "Cache-Control", "no-cache" );
+            builder.header( "Expires", DateUtils.getExpiredHttpDateString() );
+        }
+
+        if ( filename != null )
+        {
+            String type = attachment ? "attachment" : "inline";
+            builder.header( "Content-Disposition", type + "; filename=\"" + filename + "\"" );
+        }
+        
+        return builder;
+    }
+}

=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ChartResource.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ChartResource.java	2011-09-16 15:59:35 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ChartResource.java	2011-09-18 14:36:11 +0000
@@ -8,11 +8,15 @@
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Response;
 import javax.ws.rs.core.StreamingOutput;
 
+import org.hisp.dhis.chart.Chart;
 import org.hisp.dhis.chart.ChartService;
 import org.hisp.dhis.i18n.I18nManager;
+import org.hisp.dhis.system.util.CodecUtils;
 import org.hisp.dhis.util.ContextUtils;
+import org.hisp.dhis.web.api.ResponseUtils;
 import org.jfree.chart.ChartUtilities;
 import org.jfree.chart.JFreeChart;
 
@@ -32,22 +36,26 @@
     {
         i18nManager = manager;
     }
-    
+
     @GET
     @Produces( ContextUtils.CONTENT_TYPE_PNG )
-    public StreamingOutput getChart( @PathParam("id") Integer id )
+    public Response getChart( @PathParam("id") Integer id )
         throws Exception
     {
-        final JFreeChart chart = chartService.getJFreeChart( id, i18nManager.getI18nFormat() );
-        
-        return new StreamingOutput()
+        final JFreeChart jFreeChart = chartService.getJFreeChart( id, i18nManager.getI18nFormat() );
+        
+        final Chart chart = chartService.getChart( id );
+        
+        final String filename = CodecUtils.filenameEncode( chart.getTitle() + ".png" );
+        
+        return ResponseUtils.response( true, filename, false ).entity( new StreamingOutput()
         {
             @Override
             public void write( OutputStream out )
                 throws IOException, WebApplicationException
             {
-                ChartUtilities.writeChartAsPNG( out, chart, 600, 400 );
+                ChartUtilities.writeChartAsPNG( out, jFreeChart, 600, 400 );
             }
-        };
+        } ).build();
     }
 }

=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ReportResource.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ReportResource.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ReportResource.java	2011-09-18 14:36:11 +0000
@@ -0,0 +1,79 @@
+package org.hisp.dhis.web.api.resources;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.StreamingOutput;
+
+import org.hisp.dhis.i18n.I18nFormat;
+import org.hisp.dhis.i18n.I18nManager;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.organisationunit.OrganisationUnitService;
+import org.hisp.dhis.report.Report;
+import org.hisp.dhis.report.ReportService;
+import org.hisp.dhis.system.util.CodecUtils;
+import org.hisp.dhis.util.ContextUtils;
+import org.hisp.dhis.web.api.ResponseUtils;
+
+@Path( "/report/{report}/{orgUnit}" )
+public class ReportResource
+{
+    private ReportService reportService;
+
+    public void setReportService( ReportService reportService )
+    {
+        this.reportService = reportService;
+    }
+
+    private OrganisationUnitService organisationUnitService;
+    
+    public void setOrganisationUnitService( OrganisationUnitService organisationUnitService )
+    {
+        this.organisationUnitService = organisationUnitService;
+    }
+
+    private I18nManager i18nManager;
+
+    public void setI18nManager( I18nManager manager )
+    {
+        i18nManager = manager;
+    }
+    
+    @GET
+    @Produces(ContextUtils.CONTENT_TYPE_PDF)
+    public Response renderReport( @PathParam("report") final Integer reportId,
+        @PathParam("orgUnit") final String orgUnitUuid )
+            throws Exception
+    {
+        final Report report = reportService.getReport( reportId );
+        
+        final OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( orgUnitUuid );
+        
+        if ( report == null || organisationUnit == null )
+        {
+            return null;
+        }
+        
+        final int organisationUnitId = organisationUnit.getId();
+        
+        final I18nFormat format = i18nManager.getI18nFormat();
+        
+        final String filename = CodecUtils.filenameEncode( report.getName() ) + "." + ReportService.REPORTTYPE_PDF;
+        
+        return ResponseUtils.response( true, filename, false ).entity( new StreamingOutput()
+        {
+            @Override
+            public void write( OutputStream out )
+                throws IOException, WebApplicationException
+            {
+                reportService.renderReport( out, report, 1, organisationUnitId, ReportService.REPORTTYPE_PDF, format );
+            }
+        } ).build();
+    }
+}

=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml	2011-09-16 16:05:52 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml	2011-09-17 04:39:45 +0000
@@ -42,6 +42,13 @@
 	<property name="chartService" ref="org.hisp.dhis.chart.ChartService"/>
 	<property name="i18nManager" ref="org.hisp.dhis.i18n.I18nManager"/>
   </bean>
+  
+  <bean id="org.hisp.dhis.web.api.resources.ReportResource" class="org.hisp.dhis.web.api.resources.ReportResource"
+	scope="prototype">
+	<property name="reportService" ref="org.hisp.dhis.report.ReportService"/>
+    <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+	<property name="i18nManager" ref="org.hisp.dhis.i18n.I18nManager"/>
+  </bean>
 
   <!-- Marshallers -->
 

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/reportviewer/action/RenderReportAction.java'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/reportviewer/action/RenderReportAction.java	2011-09-14 12:46:13 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/reportviewer/action/RenderReportAction.java	2011-09-18 14:36:11 +0000
@@ -30,30 +30,14 @@
 import static org.apache.commons.lang.StringUtils.defaultIfEmpty;
 
 import java.io.OutputStream;
-import java.sql.Connection;
-import java.util.HashMap;
-import java.util.Map;
 
 import javax.servlet.http.HttpServletResponse;
 
-import net.sf.jasperreports.engine.JasperCompileManager;
-import net.sf.jasperreports.engine.JasperFillManager;
-import net.sf.jasperreports.engine.JasperPrint;
-import net.sf.jasperreports.engine.JasperReport;
-
-import org.amplecode.quick.StatementManager;
-import org.hisp.dhis.common.Grid;
-import org.hisp.dhis.constant.ConstantService;
 import org.hisp.dhis.i18n.I18nFormat;
-import org.hisp.dhis.organisationunit.OrganisationUnitGroupService;
 import org.hisp.dhis.report.Report;
 import org.hisp.dhis.report.ReportService;
-import org.hisp.dhis.reporttable.ReportTable;
-import org.hisp.dhis.reporttable.ReportTableService;
 import org.hisp.dhis.system.util.CodecUtils;
-import org.hisp.dhis.system.util.StreamUtils;
 import org.hisp.dhis.util.ContextUtils;
-import org.hisp.dhis.util.JRExportUtils;
 import org.hisp.dhis.util.StreamActionSupport;
 
 /**
@@ -63,7 +47,7 @@
 public class RenderReportAction
     extends StreamActionSupport
 {
-    private static final String DEFAULT_TYPE = "pdf";
+    private static final String DEFAULT_TYPE = ReportService.REPORTTYPE_PDF;
     
     // -------------------------------------------------------------------------
     // Dependencies
@@ -76,34 +60,6 @@
         this.reportService = reportService;
     }
 
-    private ReportTableService reportTableService;
-
-    public void setReportTableService( ReportTableService reportTableService )
-    {
-        this.reportTableService = reportTableService;
-    }
-    
-    private ConstantService constantService;
-    
-    public void setConstantService( ConstantService constantService )
-    {
-        this.constantService = constantService;
-    }
-    
-    private StatementManager statementManager;
-
-    public void setStatementManager( StatementManager statementManager )
-    {
-        this.statementManager = statementManager;
-    }
-
-    private OrganisationUnitGroupService organisationUnitGroupService;
-
-    public void setOrganisationUnitGroupService( OrganisationUnitGroupService organisationUnitGroupService )
-    {
-        this.organisationUnitGroupService = organisationUnitGroupService;
-    }
-
     private I18nFormat format;
 
     public void setFormat( I18nFormat format )
@@ -155,42 +111,7 @@
         
         Report report = reportService.getReport( id );
         
-        Map<String, Object> params = new HashMap<String, Object>();
-        
-        params.putAll( constantService.getConstantParameterMap() );
-                
-        JasperReport jasperReport = JasperCompileManager.compileReport( StreamUtils.getInputStream( report.getDesignContent() ) );
-        
-        JasperPrint print = null;
-
-        if ( report.hasReportTable() ) // Use JR data source
-        {
-            ReportTable reportTable = report.getReportTable();
-            
-            params.putAll( reportTable.getOrganisationUnitGroupMap( organisationUnitGroupService.getCompulsoryOrganisationUnitGroupSets() ) );
-            
-            Grid grid = reportTableService.getReportTableGrid( reportTable.getId(), format, reportingPeriod, organisationUnitId );
-            
-            print = JasperFillManager.fillReport( jasperReport, params, grid );
-        }
-        else // Assume SQL report and provide JDBC connection
-        {
-            Connection connection = statementManager.getHolder().getConnection();
-            
-            try
-            {
-                print = JasperFillManager.fillReport( jasperReport, params, connection );
-            }
-            finally
-            {        
-                connection.close();
-            }
-        }
-        
-        if ( print != null )
-        {
-            JRExportUtils.export( type, out, print );
-        }
+        reportService.renderReport( out, report, reportingPeriod, organisationUnitId, type, format );
         
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml	2011-09-11 18:19:48 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml	2011-09-16 16:54:03 +0000
@@ -288,10 +288,6 @@
   <bean id="org.hisp.dhis.reporting.reportviewer.action.RenderReportAction" class="org.hisp.dhis.reporting.reportviewer.action.RenderReportAction"
     scope="prototype">
     <property name="reportService" ref="org.hisp.dhis.report.ReportService" />
-    <property name="reportTableService" ref="org.hisp.dhis.reporttable.ReportTableService" />
-	<property name="constantService" ref="org.hisp.dhis.constant.ConstantService" />
-    <property name="statementManager" ref="statementManager" />
-	<property name="organisationUnitGroupService" ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
   </bean>
 
   <bean id="org.hisp.dhis.reporting.reportviewer.action.GetReportDesignAction" class="org.hisp.dhis.reporting.reportviewer.action.GetReportDesignAction"