=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportController.java 2013-04-04 18:06:19 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportController.java 2013-04-30 11:20:20 +0000 @@ -53,6 +53,8 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import static org.hisp.dhis.system.util.CodecUtils.filenameEncode; + /** * @author Morten Olav Hansen * @author Lars Helge Overland @@ -123,6 +125,34 @@ reportService.saveReport( report ); } + @RequestMapping( value = "/{uid}/design", method = RequestMethod.GET ) + public void getReportDesign( @PathVariable( "uid" ) String uid, HttpServletResponse response ) throws Exception + { + Report report = reportService.getReport( uid ); + + if ( report == null ) + { + ContextUtils.notFoundResponse( response, "Report not found for identifier: " + uid ); + return; + } + + if ( report.getDesignContent() == null ) + { + ContextUtils.conflictResponse( response, "Report has no design content: " + uid ); + } + + if ( Report.TYPE_HTML.equals( report.getType() ) ) + { + contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.NO_CACHE, filenameEncode( report.getName() ) + ".html", true ); + } + else + { + contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_XML, CacheStrategy.NO_CACHE, filenameEncode( report.getName() ) + ".jrxml", true ); + } + + response.getWriter().write( report.getDesignContent() ); + } + /** * This methods wraps the Jasper image servlet to avoid having a separate * servlet mapping around. Note that the path to images are relative to the === removed file 'dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/reportviewer/action/GetReportDesignAction.java' --- dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/reportviewer/action/GetReportDesignAction.java 2011-12-26 10:07:59 +0000 +++ dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/reportviewer/action/GetReportDesignAction.java 1970-01-01 00:00:00 +0000 @@ -1,107 +0,0 @@ -package org.hisp.dhis.reporting.reportviewer.action; - -/* - * Copyright (c) 2004-2012, University of Oslo - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * * Neither the name of the HISP project nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import java.io.OutputStream; - -import javax.servlet.http.HttpServletResponse; - -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.util.StreamActionSupport; - -/** - * @author Lars Helge Overland - * @version $Id$ - */ -public class GetReportDesignAction - extends StreamActionSupport -{ - private static final String EXT_JRXML = ".jrxml"; - - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - - private ReportService reportService; - - public void setReportService( ReportService reportService ) - { - this.reportService = reportService; - } - - // ------------------------------------------------------------------------- - // Input - // ------------------------------------------------------------------------- - - private Integer id; - - public void setId( Integer id ) - { - this.id = id; - } - - // ------------------------------------------------------------------------- - // Action implementation - // ------------------------------------------------------------------------- - - @Override - protected String execute( HttpServletResponse response, OutputStream out ) throws Exception - { - Report report = reportService.getReport( id ); - - if ( report.getDesignContent() != null ) - { - out.write( report.getDesignContent().getBytes() ); - } - - return SUCCESS; - } - - @Override - protected String getContentType() - { - return ContextUtils.CONTENT_TYPE_XML; - } - - @Override - protected String getFilename() - { - Report report = reportService.getReport( id ); - - return CodecUtils.filenameEncode( report.getName() ) + EXT_JRXML; - } - - @Override - public boolean attachment() - { - return true; - } -} === 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 2013-03-14 11:00:17 +0000 +++ dhis-2/dhis-web/dhis-web-reporting/src/main/resources/META-INF/dhis/beans.xml 2013-04-30 11:20:20 +0000 @@ -154,11 +154,6 @@ - - - - === modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/resources/struts.xml' --- dhis-2/dhis-web/dhis-web-reporting/src/main/resources/struts.xml 2013-03-20 20:12:46 +0000 +++ dhis-2/dhis-web/dhis-web-reporting/src/main/resources/struts.xml 2013-04-30 11:20:20 +0000 @@ -103,10 +103,6 @@ plainTextError - - - - === modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/addReportForm.vm' --- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/addReportForm.vm 2013-04-30 08:03:51 +0000 +++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/addReportForm.vm 2013-04-30 11:20:20 +0000 @@ -44,7 +44,7 @@ - + #else