Compilation compatibility with JasperReports 5.5.2
This commit is contained in:
parent
782d10c66f
commit
e04fb15a5e
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -23,15 +23,12 @@ import java.util.Map;
|
|||
|
||||
import net.sf.jasperreports.engine.JRDataSource;
|
||||
import net.sf.jasperreports.engine.JRException;
|
||||
import net.sf.jasperreports.engine.JRExporter;
|
||||
import net.sf.jasperreports.engine.JRExporterParameter;
|
||||
import net.sf.jasperreports.engine.JasperFillManager;
|
||||
import net.sf.jasperreports.engine.JasperPrint;
|
||||
import net.sf.jasperreports.engine.JasperReport;
|
||||
import net.sf.jasperreports.engine.data.JRBeanArrayDataSource;
|
||||
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
|
||||
import net.sf.jasperreports.engine.export.JRCsvExporter;
|
||||
import net.sf.jasperreports.engine.export.JRHtmlExporter;
|
||||
import net.sf.jasperreports.engine.export.JRPdfExporter;
|
||||
import net.sf.jasperreports.engine.export.JRXlsExporter;
|
||||
|
||||
|
|
@ -39,10 +36,15 @@ import net.sf.jasperreports.engine.export.JRXlsExporter;
|
|||
* Utility methods for working with JasperReports. Provides a set of convenience
|
||||
* methods for generating reports in a CSV, HTML, PDF and XLS formats.
|
||||
*
|
||||
* <p><b>This class is compatible with classic JasperReports releases back until 2.x.</b>
|
||||
* As a consequence, it keeps using the {@link net.sf.jasperreports.engine.JRExporter}
|
||||
* API which has been deprecated in early 2014.
|
||||
*
|
||||
* @author Rob Harrop
|
||||
* @author Juergen Hoeller
|
||||
* @since 1.1.3
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "rawtypes"})
|
||||
public abstract class JasperReportsUtils {
|
||||
|
||||
/**
|
||||
|
|
@ -84,11 +86,11 @@ public abstract class JasperReportsUtils {
|
|||
* @param writer the {@code Writer} to write the result to
|
||||
* @throws JRException if rendering failed
|
||||
*/
|
||||
public static void render(JRExporter exporter, JasperPrint print, Writer writer)
|
||||
public static void render(net.sf.jasperreports.engine.JRExporter exporter, JasperPrint print, Writer writer)
|
||||
throws JRException {
|
||||
|
||||
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
|
||||
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, writer);
|
||||
exporter.setParameter(net.sf.jasperreports.engine.JRExporterParameter.JASPER_PRINT, print);
|
||||
exporter.setParameter(net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_WRITER, writer);
|
||||
exporter.exportReport();
|
||||
}
|
||||
|
||||
|
|
@ -103,11 +105,11 @@ public abstract class JasperReportsUtils {
|
|||
* @param outputStream the {@code OutputStream} to write the result to
|
||||
* @throws JRException if rendering failed
|
||||
*/
|
||||
public static void render(JRExporter exporter, JasperPrint print, OutputStream outputStream)
|
||||
throws JRException {
|
||||
public static void render(net.sf.jasperreports.engine.JRExporter exporter, JasperPrint print,
|
||||
OutputStream outputStream) throws JRException {
|
||||
|
||||
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
|
||||
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
|
||||
exporter.setParameter(net.sf.jasperreports.engine.JRExporterParameter.JASPER_PRINT, print);
|
||||
exporter.setParameter(net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STREAM, outputStream);
|
||||
exporter.exportReport();
|
||||
}
|
||||
|
||||
|
|
@ -137,12 +139,13 @@ public abstract class JasperReportsUtils {
|
|||
* @param writer the {@code Writer} to write the rendered report to
|
||||
* @param reportData a {@code JRDataSource}, {@code java.util.Collection} or object array
|
||||
* (converted accordingly), representing the report data to read fields from
|
||||
* @param exporterParameters a {@link Map} of {@link JRExporterParameter exporter parameters}
|
||||
* @param exporterParameters a {@link Map} of {@code JRExporterParameter exporter parameters}
|
||||
* @throws JRException if rendering failed
|
||||
* @see #convertReportData
|
||||
*/
|
||||
public static void renderAsCsv(JasperReport report, Map<String, Object> parameters, Object reportData,
|
||||
Writer writer, Map<JRExporterParameter, Object> exporterParameters) throws JRException {
|
||||
Writer writer, Map<net.sf.jasperreports.engine.JRExporterParameter, Object> exporterParameters)
|
||||
throws JRException {
|
||||
|
||||
JasperPrint print = JasperFillManager.fillReport(report, parameters, convertReportData(reportData));
|
||||
JRCsvExporter exporter = new JRCsvExporter();
|
||||
|
|
@ -165,7 +168,7 @@ public abstract class JasperReportsUtils {
|
|||
Writer writer) throws JRException {
|
||||
|
||||
JasperPrint print = JasperFillManager.fillReport(report, parameters, convertReportData(reportData));
|
||||
render(new JRHtmlExporter(), print, writer);
|
||||
render(new net.sf.jasperreports.engine.export.JRHtmlExporter(), print, writer);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -176,15 +179,16 @@ public abstract class JasperReportsUtils {
|
|||
* @param writer the {@code Writer} to write the rendered report to
|
||||
* @param reportData a {@code JRDataSource}, {@code java.util.Collection} or object array
|
||||
* (converted accordingly), representing the report data to read fields from
|
||||
* @param exporterParameters a {@link Map} of {@link JRExporterParameter exporter parameters}
|
||||
* @param exporterParameters a {@link Map} of {@code JRExporterParameter exporter parameters}
|
||||
* @throws JRException if rendering failed
|
||||
* @see #convertReportData
|
||||
*/
|
||||
public static void renderAsHtml(JasperReport report, Map<String, Object> parameters, Object reportData,
|
||||
Writer writer, Map<JRExporterParameter, Object> exporterParameters) throws JRException {
|
||||
Writer writer, Map<net.sf.jasperreports.engine.JRExporterParameter, Object> exporterParameters)
|
||||
throws JRException {
|
||||
|
||||
JasperPrint print = JasperFillManager.fillReport(report, parameters, convertReportData(reportData));
|
||||
JRHtmlExporter exporter = new JRHtmlExporter();
|
||||
net.sf.jasperreports.engine.export.JRHtmlExporter exporter = new net.sf.jasperreports.engine.export.JRHtmlExporter();
|
||||
exporter.setParameters(exporterParameters);
|
||||
render(exporter, print, writer);
|
||||
}
|
||||
|
|
@ -215,12 +219,13 @@ public abstract class JasperReportsUtils {
|
|||
* @param stream the {@code OutputStream} to write the rendered report to
|
||||
* @param reportData a {@code JRDataSource}, {@code java.util.Collection} or object array
|
||||
* (converted accordingly), representing the report data to read fields from
|
||||
* @param exporterParameters a {@link Map} of {@link JRExporterParameter exporter parameters}
|
||||
* @param exporterParameters a {@link Map} of {@code JRExporterParameter exporter parameters}
|
||||
* @throws JRException if rendering failed
|
||||
* @see #convertReportData
|
||||
*/
|
||||
public static void renderAsPdf(JasperReport report, Map<String, Object> parameters, Object reportData,
|
||||
OutputStream stream, Map<JRExporterParameter, Object> exporterParameters) throws JRException {
|
||||
OutputStream stream, Map<net.sf.jasperreports.engine.JRExporterParameter, Object> exporterParameters)
|
||||
throws JRException {
|
||||
|
||||
JasperPrint print = JasperFillManager.fillReport(report, parameters, convertReportData(reportData));
|
||||
JRPdfExporter exporter = new JRPdfExporter();
|
||||
|
|
@ -254,12 +259,13 @@ public abstract class JasperReportsUtils {
|
|||
* @param stream the {@code OutputStream} to write the rendered report to
|
||||
* @param reportData a {@code JRDataSource}, {@code java.util.Collection} or object array
|
||||
* (converted accordingly), representing the report data to read fields from
|
||||
* @param exporterParameters a {@link Map} of {@link JRExporterParameter exporter parameters}
|
||||
* @param exporterParameters a {@link Map} of {@code JRExporterParameter exporter parameters}
|
||||
* @throws JRException if rendering failed
|
||||
* @see #convertReportData
|
||||
*/
|
||||
public static void renderAsXls(JasperReport report, Map<String, Object> parameters, Object reportData,
|
||||
OutputStream stream, Map<JRExporterParameter, Object> exporterParameters) throws JRException {
|
||||
OutputStream stream, Map<net.sf.jasperreports.engine.JRExporterParameter, Object> exporterParameters)
|
||||
throws JRException {
|
||||
|
||||
JasperPrint print = JasperFillManager.fillReport(report, parameters, convertReportData(reportData));
|
||||
JRXlsExporter exporter = new JRXlsExporter();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -41,13 +41,13 @@ import net.sf.jasperreports.engine.export.JRPdfExporter;
|
|||
import net.sf.jasperreports.engine.export.JRPdfExporterParameter;
|
||||
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
|
||||
import net.sf.jasperreports.engine.util.JRLoader;
|
||||
|
||||
import org.apache.poi.hssf.usermodel.HSSFCell;
|
||||
import org.apache.poi.hssf.usermodel.HSSFRow;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.tests.Assume;
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ public class JasperReportsUtilsTests {
|
|||
public void testRenderAsPdfWithExporterParameters() throws Exception {
|
||||
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
||||
Map<JRExporterParameter, Object> exporterParameters = new HashMap<JRExporterParameter, Object>();
|
||||
exporterParameters.put(JRPdfExporterParameter.PDF_VERSION, JRPdfExporterParameter.PDF_VERSION_1_6);
|
||||
exporterParameters.put(JRPdfExporterParameter.PDF_VERSION, JRPdfExporterParameter.PDF_VERSION_1_6.toString());
|
||||
JasperReportsUtils.renderAsPdf(getReport(), getParameters(), getData(), os, exporterParameters);
|
||||
byte[] output = os.toByteArray();
|
||||
assertPdfOutputCorrect(output);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -20,8 +20,6 @@ import java.io.ByteArrayOutputStream;
|
|||
import java.util.Map;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import net.sf.jasperreports.engine.JRExporter;
|
||||
import net.sf.jasperreports.engine.JRExporterParameter;
|
||||
import net.sf.jasperreports.engine.JasperPrint;
|
||||
|
||||
import org.springframework.ui.jasperreports.JasperReportsUtils;
|
||||
|
|
@ -36,12 +34,17 @@ import org.springframework.web.util.WebUtils;
|
|||
* to create a JasperReports exporter for a specific output format, and
|
||||
* {@code useWriter} to determine whether to write text or binary content.
|
||||
*
|
||||
* <p><b>This class is compatible with classic JasperReports releases back until 2.x.</b>
|
||||
* As a consequence, it keeps using the {@link net.sf.jasperreports.engine.JRExporter}
|
||||
* API which got deprecated as of JasperReports 5.5.2 (early 2014).
|
||||
*
|
||||
* @author Rob Harrop
|
||||
* @author Juergen Hoeller
|
||||
* @since 1.1.5
|
||||
* @see #createExporter()
|
||||
* @see #useWriter()
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "rawtypes"})
|
||||
public abstract class AbstractJasperReportsSingleFormatView extends AbstractJasperReportsView {
|
||||
|
||||
@Override
|
||||
|
|
@ -54,12 +57,13 @@ public abstract class AbstractJasperReportsSingleFormatView extends AbstractJasp
|
|||
* for a pre-defined output format.
|
||||
*/
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
protected void renderReport(JasperPrint populatedReport, Map<String, Object> model, HttpServletResponse response)
|
||||
throws Exception {
|
||||
|
||||
JRExporter exporter = createExporter();
|
||||
net.sf.jasperreports.engine.JRExporter exporter = createExporter();
|
||||
|
||||
Map<JRExporterParameter, Object> mergedExporterParameters = getConvertedExporterParameters();
|
||||
Map<net.sf.jasperreports.engine.JRExporterParameter, Object> mergedExporterParameters = getConvertedExporterParameters();
|
||||
if (!CollectionUtils.isEmpty(mergedExporterParameters)) {
|
||||
exporter.setParameters(mergedExporterParameters);
|
||||
}
|
||||
|
|
@ -79,12 +83,12 @@ public abstract class AbstractJasperReportsSingleFormatView extends AbstractJasp
|
|||
* @param response the HTTP response the report should be rendered to
|
||||
* @throws Exception if rendering failed
|
||||
*/
|
||||
protected void renderReportUsingWriter(
|
||||
JRExporter exporter, JasperPrint populatedReport, HttpServletResponse response) throws Exception {
|
||||
protected void renderReportUsingWriter(net.sf.jasperreports.engine.JRExporter exporter,
|
||||
JasperPrint populatedReport, HttpServletResponse response) throws Exception {
|
||||
|
||||
// Copy the encoding configured for the report into the response.
|
||||
String contentType = getContentType();
|
||||
String encoding = (String) exporter.getParameter(JRExporterParameter.CHARACTER_ENCODING);
|
||||
String encoding = (String) exporter.getParameter(net.sf.jasperreports.engine.JRExporterParameter.CHARACTER_ENCODING);
|
||||
if (encoding != null) {
|
||||
// Only apply encoding if content type is specified but does not contain charset clause already.
|
||||
if (contentType != null && !contentType.toLowerCase().contains(WebUtils.CONTENT_TYPE_CHARSET_PREFIX)) {
|
||||
|
|
@ -104,8 +108,8 @@ public abstract class AbstractJasperReportsSingleFormatView extends AbstractJasp
|
|||
* @param response the HTTP response the report should be rendered to
|
||||
* @throws Exception if rendering failed
|
||||
*/
|
||||
protected void renderReportUsingOutputStream(
|
||||
JRExporter exporter, JasperPrint populatedReport, HttpServletResponse response) throws Exception {
|
||||
protected void renderReportUsingOutputStream(net.sf.jasperreports.engine.JRExporter exporter,
|
||||
JasperPrint populatedReport, HttpServletResponse response) throws Exception {
|
||||
|
||||
// IE workaround: write into byte array first.
|
||||
ByteArrayOutputStream baos = createTemporaryOutputStream();
|
||||
|
|
@ -121,7 +125,7 @@ public abstract class AbstractJasperReportsSingleFormatView extends AbstractJasp
|
|||
* output will be written as text or as binary content.
|
||||
* @see #useWriter()
|
||||
*/
|
||||
protected abstract JRExporter createExporter();
|
||||
protected abstract net.sf.jasperreports.engine.JRExporter createExporter();
|
||||
|
||||
/**
|
||||
* Return whether to use a {@code java.io.Writer} to write text content
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -35,7 +35,6 @@ import javax.sql.DataSource;
|
|||
import net.sf.jasperreports.engine.JRDataSource;
|
||||
import net.sf.jasperreports.engine.JRDataSourceProvider;
|
||||
import net.sf.jasperreports.engine.JRException;
|
||||
import net.sf.jasperreports.engine.JRExporterParameter;
|
||||
import net.sf.jasperreports.engine.JRParameter;
|
||||
import net.sf.jasperreports.engine.JasperCompileManager;
|
||||
import net.sf.jasperreports.engine.JasperFillManager;
|
||||
|
|
@ -101,6 +100,10 @@ import org.springframework.web.servlet.view.AbstractUrlBasedView;
|
|||
* so that reports render correctly in Internet Explorer. However, you can override this
|
||||
* setting through the {@code headers} property.
|
||||
*
|
||||
* <p><b>This class is compatible with classic JasperReports releases back until 2.x.</b>
|
||||
* As a consequence, it keeps using the {@link net.sf.jasperreports.engine.JRExporter}
|
||||
* API which got deprecated as of JasperReports 5.5.2 (early 2014).
|
||||
*
|
||||
* @author Rob Harrop
|
||||
* @author Juergen Hoeller
|
||||
* @since 1.1.3
|
||||
|
|
@ -112,6 +115,7 @@ import org.springframework.web.servlet.view.AbstractUrlBasedView;
|
|||
* @see #setExporterParameters
|
||||
* @see #setJdbcDataSource
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "rawtypes"})
|
||||
public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
||||
|
||||
/**
|
||||
|
|
@ -157,7 +161,7 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
|||
/**
|
||||
* Stores the converted exporter parameters - keyed by {@code JRExporterParameter}.
|
||||
*/
|
||||
private Map<JRExporterParameter, Object> convertedExporterParameters;
|
||||
private Map<net.sf.jasperreports.engine.JRExporterParameter, Object> convertedExporterParameters;
|
||||
|
||||
/**
|
||||
* Stores the {@code DataSource}, if any, used as the report data source.
|
||||
|
|
@ -261,14 +265,14 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
|||
/**
|
||||
* Allows subclasses to populate the converted exporter parameters.
|
||||
*/
|
||||
protected void setConvertedExporterParameters(Map<JRExporterParameter, Object> convertedExporterParameters) {
|
||||
this.convertedExporterParameters = convertedExporterParameters;
|
||||
protected void setConvertedExporterParameters(Map<net.sf.jasperreports.engine.JRExporterParameter, Object> parameters) {
|
||||
this.convertedExporterParameters = parameters;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allows subclasses to retrieve the converted exporter parameters.
|
||||
*/
|
||||
protected Map<JRExporterParameter, Object> getConvertedExporterParameters() {
|
||||
protected Map<net.sf.jasperreports.engine.JRExporterParameter, Object> getConvertedExporterParameters() {
|
||||
return this.convertedExporterParameters;
|
||||
}
|
||||
|
||||
|
|
@ -353,9 +357,10 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
|||
*/
|
||||
protected final void convertExporterParameters() {
|
||||
if (!CollectionUtils.isEmpty(this.exporterParameters)) {
|
||||
this.convertedExporterParameters = new HashMap<JRExporterParameter, Object>(this.exporterParameters.size());
|
||||
this.convertedExporterParameters =
|
||||
new HashMap<net.sf.jasperreports.engine.JRExporterParameter, Object>(this.exporterParameters.size());
|
||||
for (Map.Entry<?, ?> entry : this.exporterParameters.entrySet()) {
|
||||
JRExporterParameter exporterParameter = getExporterParameter(entry.getKey());
|
||||
net.sf.jasperreports.engine.JRExporterParameter exporterParameter = getExporterParameter(entry.getKey());
|
||||
this.convertedExporterParameters.put(
|
||||
exporterParameter, convertParameterValue(exporterParameter, entry.getValue()));
|
||||
}
|
||||
|
|
@ -364,7 +369,7 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
|||
|
||||
/**
|
||||
* Convert the supplied parameter value into the actual type required by the
|
||||
* corresponding {@link JRExporterParameter}.
|
||||
* corresponding {@code JRExporterParameter}.
|
||||
* <p>The default implementation simply converts the String values "true" and
|
||||
* "false" into corresponding {@code Boolean} objects, and tries to convert
|
||||
* String values that start with a digit into {@code Integer} objects
|
||||
|
|
@ -373,7 +378,7 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
|||
* @param value the parameter value
|
||||
* @return the converted parameter value
|
||||
*/
|
||||
protected Object convertParameterValue(JRExporterParameter parameter, Object value) {
|
||||
protected Object convertParameterValue(net.sf.jasperreports.engine.JRExporterParameter parameter, Object value) {
|
||||
if (value instanceof String) {
|
||||
String str = (String) value;
|
||||
if ("true".equals(str)) {
|
||||
|
|
@ -403,9 +408,9 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
|||
* @return a JRExporterParameter for the given parameter object
|
||||
* @see #convertToExporterParameter(String)
|
||||
*/
|
||||
protected JRExporterParameter getExporterParameter(Object parameter) {
|
||||
if (parameter instanceof JRExporterParameter) {
|
||||
return (JRExporterParameter) parameter;
|
||||
protected net.sf.jasperreports.engine.JRExporterParameter getExporterParameter(Object parameter) {
|
||||
if (parameter instanceof net.sf.jasperreports.engine.JRExporterParameter) {
|
||||
return (net.sf.jasperreports.engine.JRExporterParameter) parameter;
|
||||
}
|
||||
if (parameter instanceof String) {
|
||||
return convertToExporterParameter((String) parameter);
|
||||
|
|
@ -422,7 +427,7 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
|||
* (e.g. "net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IMAGES_URI")
|
||||
* @return the corresponding JRExporterParameter instance
|
||||
*/
|
||||
protected JRExporterParameter convertToExporterParameter(String fqFieldName) {
|
||||
protected net.sf.jasperreports.engine.JRExporterParameter convertToExporterParameter(String fqFieldName) {
|
||||
int index = fqFieldName.lastIndexOf('.');
|
||||
if (index == -1 || index == fqFieldName.length()) {
|
||||
throw new IllegalArgumentException(
|
||||
|
|
@ -437,9 +442,9 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView {
|
|||
Class<?> cls = ClassUtils.forName(className, getApplicationContext().getClassLoader());
|
||||
Field field = cls.getField(fieldName);
|
||||
|
||||
if (JRExporterParameter.class.isAssignableFrom(field.getType())) {
|
||||
if (net.sf.jasperreports.engine.JRExporterParameter.class.isAssignableFrom(field.getType())) {
|
||||
try {
|
||||
return (JRExporterParameter) field.get(null);
|
||||
return (net.sf.jasperreports.engine.JRExporterParameter) field.get(null);
|
||||
}
|
||||
catch (IllegalAccessException ex) {
|
||||
throw new IllegalArgumentException(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -16,8 +16,6 @@
|
|||
|
||||
package org.springframework.web.servlet.view.jasperreports;
|
||||
|
||||
import net.sf.jasperreports.engine.JRExporter;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
|
|
@ -25,6 +23,10 @@ import org.springframework.util.Assert;
|
|||
* Configurable JasperReports View, allowing to specify the JasperReports exporter
|
||||
* to be specified through bean properties rather than through the view class name.
|
||||
*
|
||||
* <p><b>This class is compatible with classic JasperReports releases back until 2.x.</b>
|
||||
* As a consequence, it keeps using the {@link net.sf.jasperreports.engine.JRExporter}
|
||||
* API which got deprecated as of JasperReports 5.5.2 (early 2014).
|
||||
*
|
||||
* @author Rob Harrop
|
||||
* @since 2.0
|
||||
* @see JasperReportsCsvView
|
||||
|
|
@ -32,25 +34,26 @@ import org.springframework.util.Assert;
|
|||
* @see JasperReportsPdfView
|
||||
* @see JasperReportsXlsView
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "rawtypes"})
|
||||
public class ConfigurableJasperReportsView extends AbstractJasperReportsSingleFormatView {
|
||||
|
||||
private Class<? extends JRExporter> exporterClass;
|
||||
private Class<? extends net.sf.jasperreports.engine.JRExporter> exporterClass;
|
||||
|
||||
private boolean useWriter = true;
|
||||
|
||||
|
||||
/**
|
||||
* Set the {@link JRExporter} implementation {@code Class} to use. Throws
|
||||
* Set the {@code JRExporter} implementation {@code Class} to use. Throws
|
||||
* {@link IllegalArgumentException} if the {@code Class} doesn't implement
|
||||
* {@link JRExporter}. Required setting, as it does not have a default.
|
||||
* {@code JRExporter}. Required setting, as it does not have a default.
|
||||
*/
|
||||
public void setExporterClass(Class<? extends JRExporter> exporterClass) {
|
||||
Assert.isAssignable(JRExporter.class, exporterClass);
|
||||
public void setExporterClass(Class<? extends net.sf.jasperreports.engine.JRExporter> exporterClass) {
|
||||
Assert.isAssignable(net.sf.jasperreports.engine.JRExporter.class, exporterClass);
|
||||
this.exporterClass = exporterClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies whether or not the {@link JRExporter} writes to the {@link java.io.PrintWriter}
|
||||
* Specifies whether or not the {@code JRExporter} writes to the {@link java.io.PrintWriter}
|
||||
* of the associated with the request ({@code true}) or whether it writes directly to the
|
||||
* {@link java.io.InputStream} of the request ({@code false}). Default is {@code true}.
|
||||
*/
|
||||
|
|
@ -70,17 +73,17 @@ public class ConfigurableJasperReportsView extends AbstractJasperReportsSingleFo
|
|||
|
||||
|
||||
/**
|
||||
* Returns a new instance of the specified {@link JRExporter} class.
|
||||
* Returns a new instance of the specified {@link net.sf.jasperreports.engine.JRExporter} class.
|
||||
* @see #setExporterClass(Class)
|
||||
* @see BeanUtils#instantiateClass(Class)
|
||||
*/
|
||||
@Override
|
||||
protected JRExporter createExporter() {
|
||||
protected net.sf.jasperreports.engine.JRExporter createExporter() {
|
||||
return BeanUtils.instantiateClass(this.exporterClass);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates how the {@link JRExporter} should render its data.
|
||||
* Indicates how the {@code JRExporter} should render its data.
|
||||
* @see #setUseWriter(boolean)
|
||||
*/
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -16,17 +16,21 @@
|
|||
|
||||
package org.springframework.web.servlet.view.jasperreports;
|
||||
|
||||
import net.sf.jasperreports.engine.JRExporter;
|
||||
import net.sf.jasperreports.engine.export.JRCsvExporter;
|
||||
|
||||
/**
|
||||
* Implementation of {@code AbstractJasperReportsSingleFormatView}
|
||||
* that renders report results in CSV format.
|
||||
*
|
||||
* <p><b>This class is compatible with classic JasperReports releases back until 2.x.</b>
|
||||
* As a consequence, it keeps using the {@link net.sf.jasperreports.engine.JRExporter}
|
||||
* API which got deprecated as of JasperReports 5.5.2 (early 2014).
|
||||
*
|
||||
* @author Rob Harrop
|
||||
* @author Juergen Hoeller
|
||||
* @since 1.1.3
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "rawtypes"})
|
||||
public class JasperReportsCsvView extends AbstractJasperReportsSingleFormatView {
|
||||
|
||||
public JasperReportsCsvView() {
|
||||
|
|
@ -34,7 +38,7 @@ public class JasperReportsCsvView extends AbstractJasperReportsSingleFormatView
|
|||
}
|
||||
|
||||
@Override
|
||||
protected JRExporter createExporter() {
|
||||
protected net.sf.jasperreports.engine.JRExporter createExporter() {
|
||||
return new JRCsvExporter();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -16,17 +16,19 @@
|
|||
|
||||
package org.springframework.web.servlet.view.jasperreports;
|
||||
|
||||
import net.sf.jasperreports.engine.JRExporter;
|
||||
import net.sf.jasperreports.engine.export.JRHtmlExporter;
|
||||
|
||||
/**
|
||||
* Implementation of {@code AbstractJasperReportsSingleFormatView}
|
||||
* that renders report results in HTML format.
|
||||
*
|
||||
* <p><b>This class is compatible with classic JasperReports releases back until 2.x.</b>
|
||||
* As a consequence, it keeps using the {@link net.sf.jasperreports.engine.JRExporter}
|
||||
* API which got deprecated as of JasperReports 5.5.2 (early 2014).
|
||||
*
|
||||
* @author Rob Harrop
|
||||
* @author Juergen Hoeller
|
||||
* @since 1.1.3
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "rawtypes"})
|
||||
public class JasperReportsHtmlView extends AbstractJasperReportsSingleFormatView {
|
||||
|
||||
public JasperReportsHtmlView() {
|
||||
|
|
@ -34,8 +36,8 @@ public class JasperReportsHtmlView extends AbstractJasperReportsSingleFormatView
|
|||
}
|
||||
|
||||
@Override
|
||||
protected JRExporter createExporter() {
|
||||
return new JRHtmlExporter();
|
||||
protected net.sf.jasperreports.engine.JRExporter createExporter() {
|
||||
return new net.sf.jasperreports.engine.export.JRHtmlExporter();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -16,17 +16,21 @@
|
|||
|
||||
package org.springframework.web.servlet.view.jasperreports;
|
||||
|
||||
import net.sf.jasperreports.engine.JRExporter;
|
||||
import net.sf.jasperreports.engine.export.JRPdfExporter;
|
||||
|
||||
/**
|
||||
* Implementation of {@code AbstractJasperReportsSingleFormatView}
|
||||
* that renders report results in PDF format.
|
||||
*
|
||||
* <p><b>This class is compatible with classic JasperReports releases back until 2.x.</b>
|
||||
* As a consequence, it keeps using the {@link net.sf.jasperreports.engine.JRExporter}
|
||||
* API which got deprecated as of JasperReports 5.5.2 (early 2014).
|
||||
*
|
||||
* @author Rob Harrop
|
||||
* @author Juergen Hoeller
|
||||
* @since 1.1.3
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "rawtypes"})
|
||||
public class JasperReportsPdfView extends AbstractJasperReportsSingleFormatView {
|
||||
|
||||
public JasperReportsPdfView() {
|
||||
|
|
@ -34,7 +38,7 @@ public class JasperReportsPdfView extends AbstractJasperReportsSingleFormatView
|
|||
}
|
||||
|
||||
@Override
|
||||
protected JRExporter createExporter() {
|
||||
protected net.sf.jasperreports.engine.JRExporter createExporter() {
|
||||
return new JRPdfExporter();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -16,17 +16,21 @@
|
|||
|
||||
package org.springframework.web.servlet.view.jasperreports;
|
||||
|
||||
import net.sf.jasperreports.engine.JRExporter;
|
||||
import net.sf.jasperreports.engine.export.JRXlsExporter;
|
||||
|
||||
/**
|
||||
* Implementation of {@code AbstractJasperReportsSingleFormatView}
|
||||
* that renders report results in XLS format.
|
||||
*
|
||||
* <p><b>This class is compatible with classic JasperReports releases back until 2.x.</b>
|
||||
* As a consequence, it keeps using the {@link net.sf.jasperreports.engine.JRExporter}
|
||||
* API which got deprecated as of JasperReports 5.5.2 (early 2014).
|
||||
*
|
||||
* @author Rob Harrop
|
||||
* @author Juergen Hoeller
|
||||
* @since 1.1.3
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "rawtypes"})
|
||||
public class JasperReportsXlsView extends AbstractJasperReportsSingleFormatView {
|
||||
|
||||
public JasperReportsXlsView() {
|
||||
|
|
@ -34,7 +38,7 @@ public class JasperReportsXlsView extends AbstractJasperReportsSingleFormatView
|
|||
}
|
||||
|
||||
@Override
|
||||
protected JRExporter createExporter() {
|
||||
protected net.sf.jasperreports.engine.JRExporter createExporter() {
|
||||
return new JRXlsExporter();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue