L’idéal serait de pouvoir récupérer la valeur lignes exportées / lignes totales, le but étant de pouvoir suivre l’état d’avancement des exports CSV qui sont lancées en parallèle.
Si l’export est lancé via un objet dans la file asynchrone, on peut donc l’observer de l’extérieur. C’est ce que fait l’export CSV de la UI.
Launcher
// Launcher, example : Action button
public String myActionMethod() {
JobQueue.push("myExport123", new Runnable() {
@Override
public void run() {
ObjectDB obj = getGrant().getObject("myExportObject123", "MyObject");
CSVTool.export(obj...);
}
});
and observer
// Other tracker thread, example : external object to display the counter
@Override
public String display(Parameters params) {
// same object instance
ObjectDB obj = getGrant().getObject("myExportObject123", "MyObject");
return obj.getParameter(ImportExportTool.EXPORT_PROGRESS);
}
Pour avoir le total, il suffit de faire un obj.getCount()