Class JasperConcatReportBaseAction
java.lang.Object
org.openxava.actions.BaseAction
org.openxava.actions.ViewBaseAction
org.openxava.actions.JasperMultipleReportBaseAction
org.openxava.actions.JasperConcatReportBaseAction
- All Implemented Interfaces:
IAction, IChangeModeAction, IModelAction, IModuleContextAction, IMultipleForwardAction, IRequestAction
To generate a custom report concatenating simple reports.
You only need to overwrite the abstract methods.
To send parameters to the simple reports you have 3 options.
- If all the reports use the same parameters just overwrite getParameters().
- If each report has different parameter overwrite getParameters(int i), or well
- overwrite execute() and before calling to super.execute() call to addParameters() method.
Option 1 for parameters
@Override
public Map getParameters() throws Exception {
Map parameters = new HashMap();
parameters.put("param1", value1);
parameters.put("param2", value2);
return parameters;
}
Option 2 for parameters
@Override
protected Map getParameters(int index) throws Exception {
Map parameters = new HashMap();
switch (index) {
case 0:
parameters.put("param1", value1);
parameters.put("param2", value2);
return parameters;
case 1:
parameters.put("param3", value3);
parameters.put("param4", value4);
return parameters;
}
return null;
}
Option 3 for parameters
@Override
public void execute() throws Exception {
Map parameters1 = new HashMap();
parameters1.put("param1", value1);
parameters1.put("param2", value2);
addParameters(parameters1);
Map parameters2 = new HashMap();
parameters1.put("param3", value3);
parameters1.put("param4", value4);
addParameters(parameters2);
super.execute();
}
- Author:
- Jeromy Altuna
-
Field Summary
Fields inherited from class JasperMultipleReportBaseAction
EXCEL, ODT, PDF, RTFFields inherited from interface IChangeModeAction
DETAIL, LIST, PREVIOUS_MODE, SPLIT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()protected abstract net.sf.jasperreports.engine.JRDataSource[]Data to print.String[]The URIs to go.protected abstract String[]XML list JasperReports designed that will be concatenated into a single reportvoidsetFilename(String filename) Methods inherited from class JasperMultipleReportBaseAction
addParameters, addParameters, getFormat, getParameters, getParameters, getParametersList, inNewWindow, setFormat, setModel, setParametersListMethods inherited from class ViewBaseAction
changeThisPropertyByViewValue, closeDialog, getModelName, getPreviousView, getPreviousViews, getView, resetDescriptionsCache, returnToPreviousView, setControllers, setPreviousViews, setView, showDialog, showDialog, showNewView, showView, validateViewValuesMethods inherited from class BaseAction
addActions, addError, addErrors, addInfo, addMessage, addMessages, addWarning, clearActions, commit, executeAction, executeAfter, executeBefore, getContext, getEnvironment, getErrors, getLocale, getManager, getMessages, getNextMode, getQualifiedActionIfAvailable, getRequest, removeActions, returnToPreviousControllers, rollback, setContext, setDefaultControllers, setEnvironment, setErrors, setMessages, setNextMode, setRequestMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IAction
getErrors, getMessages, setEnvironment, setErrors, setMessages
-
Constructor Details
-
JasperConcatReportBaseAction
public JasperConcatReportBaseAction()
-
-
Method Details
-
getDataSources
Description copied from class:JasperMultipleReportBaseActionData to print.If return null then a JDBC connection is sent to JasperReport, this is for the case of a SQL inside JasperReport design.
- Specified by:
getDataSourcesin classJasperMultipleReportBaseAction- Throws:
Exception
-
getJRXMLs
XML list JasperReports designed that will be concatenated into a single report- Specified by:
getJRXMLsin classJasperMultipleReportBaseAction- Returns:
- String[] jrxml list
- Throws:
Exception
-
execute
-
getForwardURIs
Description copied from interface:IMultipleForwardActionThe URIs to go.If it starts with "http://" or "http://" the action will forward to the absolute URL in internet, if it starts with "javascript:" the corresponding code will executed by the browser, otherwise it will forward to a resource inside this application.
- Specified by:
getForwardURIsin interfaceIMultipleForwardAction- Overrides:
getForwardURIsin classJasperMultipleReportBaseAction
-
getFilename
-
setFilename
-