This project is meant to be a platform agnostic way to bulk execute reports on the iHub Platform. If for instance you have one report named example.rptdesign which contains a customer name parameter, you would then like to schedule that report to execute once for a list of customers.
This project is in the early stages but the basic functionality works. To get this working, compile the project, deploy the war to your application container then make a GET request. In the current state of the project even if you don't want to set all of the following parameters, they are all still required to be defined.
String authId, // Not implemented yet, required in GET
String username, // Required
String password, // Required
String volume, // Required
String url, // Hostname of the iHub, required
String ihubuser, // User to act as when executing the reports required
String ihubgroup, // Not implemented yet, required
String burstcolumn, // The column name of what we're going to bulk schedule on (E.g. customer name), required
String burstvalue, // An array of values to loop through to bulk schedule the reports
String rptdesign, // The report design to execute, required
String[] parameterNames, // An array of any parameters defined in the report, these are parameter names only, required
String[] parameterValues, // An array for the values matching the previous array definition. required
OutputType outputtype, // The final report format, e.g. PDF, required
Strung outputfolder, // The folder where the rendered reports are stored
boolean email, // boolean value that determines if the user should be emails upon execution, required
boolean attachment // boolean value that determines if the user should get the report as an attachment, required
http://localhost:8080/customscheduler?authId=dummyValue&username=Administrator&password=&volume=Default+Volume&hostname=ihub311.centos7.vm&port=8000&ssl=false&burstcolumn=myname&burstvalues=Marseille%20Mini%20Autos,Havel%20%26%20Zbyszek%20Co,Signal%20Gift%20Stores&ihubuser=administrator,clarkk,connorjay&ihubgroup=1,2,3&rptdesign=/home/administrator/example.rptdesign¶meterNames=test¶meterValues=testvalue&outputtype=PDF&email=true,true&attachment=true,true
The above URL renders three PDF's. One for each value defined in the burstvalue array. The iHub users array is directly linked to this.
For example
Burst Value | iHub User | Parameters | Result
Marseille Mini Autos | administrator | test=testvalue | example-Marseille Mini Autos.pdf
Havel & Zbyszek Co | clarkk | test=testvalue | example-Havel & Zbyszek Co.pdf
Signal Gift Stores | connorjay | test=testvalue | example-Signal Gift Stores.pdf
Notice the parameters are reused for each execution. This is because the burst value is being sent as a parameter to the report and is used as a parameter is the MySQL query. They correspond with the iHub user on each row as above.