Class JasperConcatReportBaseAction

All Implemented Interfaces:
IAction, IChangeModeAction, IModelAction, IModuleContextAction, IMultipleForwardAction, IRequestAction

public abstract class JasperConcatReportBaseAction extends JasperMultipleReportBaseAction
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.

  1. If all the reports use the same parameters just overwrite getParameters().
  2. If each report has different parameter overwrite getParameters(int i), or well
  3. 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