From 02a1f98f57bd6309e145b445b36265b81b2716ed Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 15 Apr 2009 23:18:57 +0000 Subject: [PATCH] fixed JasperReports exporter parameter initialization for multi-format views git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@1006 50f2f4bb-b051-0410-bef5-90022cba6387 --- .../AbstractJasperReportsView.java | 7 + .../JasperReportsMultiFormatView.java | 9 +- .../AbstractJasperReportsTests.java | 14 +- .../AbstractJasperReportsViewTests.java | 2 +- .../web-servlet.iml | 591 +++++++++--------- 5 files changed, 326 insertions(+), 297 deletions(-) diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsView.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsView.java index 1a31edfebfe..f95a308cdb2 100644 --- a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsView.java +++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsView.java @@ -255,6 +255,13 @@ public abstract class AbstractJasperReportsView extends AbstractUrlBasedView { return this.exporterParameters; } + /** + * Allows subclasses to populate the converted exporter parameters. + */ + protected void setConvertedExporterParameters(Map convertedExporterParameters) { + this.convertedExporterParameters = convertedExporterParameters; + } + /** * Allows subclasses to retrieve the converted exporter parameters. */ diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/jasperreports/JasperReportsMultiFormatView.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/jasperreports/JasperReportsMultiFormatView.java index 2488a3d622b..c6593dc5ec7 100644 --- a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/jasperreports/JasperReportsMultiFormatView.java +++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/jasperreports/JasperReportsMultiFormatView.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2008 the original author or authors. + * Copyright 2002-2009 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. @@ -183,13 +183,10 @@ public class JasperReportsMultiFormatView extends AbstractJasperReportsView { } AbstractJasperReportsView view = (AbstractJasperReportsView) BeanUtils.instantiateClass(viewClass); - - // Copy appropriate properties across. - view.setExporterParameters(getExporterParameters()); - // Can skip most initialization since all relevant URL processing // has been done - just need to convert parameters on the sub view. - view.convertExporterParameters(); + view.setExporterParameters(getExporterParameters()); + view.setConvertedExporterParameters(getConvertedExporterParameters()); // Prepare response and render report. populateContentDispositionIfNecessary(response, format); diff --git a/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsTests.java b/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsTests.java index 0bd25791d07..1fb357f3b99 100644 --- a/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsTests.java +++ b/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsTests.java @@ -29,6 +29,7 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.ui.jasperreports.PersonBean; import org.springframework.ui.jasperreports.ProductBean; +import org.springframework.util.ClassUtils; import org.springframework.web.servlet.DispatcherServlet; import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver; @@ -44,17 +45,8 @@ public abstract class AbstractJasperReportsTests extends TestCase { protected static final String SUB_REPORT_PARENT = "/org/springframework/ui/jasperreports/subReportParent.jrxml"; - protected static boolean canCompileReport; - - static { - try { - Class.forName("org.eclipse.jdt.internal.compiler.Compiler"); - canCompileReport = true; - } - catch (ClassNotFoundException ex) { - canCompileReport = false; - } - } + protected static final boolean canCompileReport = ClassUtils.isPresent( + "org.eclipse.jdt.internal.compiler.Compiler", AbstractJasperReportsTests.class.getClassLoader()); protected MockHttpServletRequest request; diff --git a/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsViewTests.java b/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsViewTests.java index 914530c79e3..c4d038a5a72 100755 --- a/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsViewTests.java +++ b/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/jasperreports/AbstractJasperReportsViewTests.java @@ -69,7 +69,7 @@ public abstract class AbstractJasperReportsViewTests extends AbstractJasperRepor if (view instanceof AbstractJasperReportsSingleFormatView && ((AbstractJasperReportsSingleFormatView) view).useWriter()) { String output = response.getContentAsString(); - assertTrue("Output should contain 'MeineSeite'", output.indexOf("MeineSeite") > -1); + assertTrue("Output should contain 'MeineSeite'", output.contains("MeineSeite")); } } diff --git a/org.springframework.web.servlet/web-servlet.iml b/org.springframework.web.servlet/web-servlet.iml index 3a40b7370c6..d8920a93af4 100644 --- a/org.springframework.web.servlet/web-servlet.iml +++ b/org.springframework.web.servlet/web-servlet.iml @@ -1,279 +1,312 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +