package net.codjo.dataprocess.gui.util.std;
import net.codjo.dataprocess.common.Log;
import net.codjo.dataprocess.gui.util.GuiUtils;
import net.codjo.mad.client.request.FieldsList;
import net.codjo.mad.client.request.RequestException;
import net.codjo.mad.gui.framework.SwingRunnable;
import java.util.Observable;
import static net.codjo.dataprocess.common.DataProcessConstants.TABLE_NAME_KEY;
import static net.codjo.dataprocess.common.DataProcessConstants.WHERE_CLAUSE_KEY;
/**
*
*/
public class DefaultRequestTableLoader extends AbstractRequestTableLoader {
@Override
protected void refreshTable() {
abstractListWindow.getCtxt().executeTask(new DefaultRequestTableLoading());
}
public void update(Observable o, Object arg) {
}
@Override
protected void init(AbstractListWindow listWindow) {
this.abstractListWindow = listWindow;
}
private class DefaultRequestTableLoading extends SwingRunnable {
DefaultRequestTableLoading() {
super("Chargement des donn�es en cours...");
}
public void run() {
try {
FieldsList fieldsList = new FieldsList();
fieldsList.addField(TABLE_NAME_KEY, abstractListWindow.getSqlTableName());
String whereClause = (String)getProperty(WHERE_CLAUSE_KEY);
if (whereClause != null && whereClause.trim().length() != 0) {
fieldsList.addField(WHERE_CLAUSE_KEY, whereClause);
if (!abstractListWindow.getTitle().contains("}")) {
abstractListWindow.setTitle(abstractListWindow.getTitle() +
" { " + whereClause + " }");
}
}
abstractListWindow.getRequestTable().setSelector(fieldsList);
abstractListWindow.getRequestTable().load();
if (Log.isInfoEnabled()) {
Log.info(getClass(),
"Affichage de '" + abstractListWindow.getSqlTableName() + "' ("
+ abstractListWindow.getRequestTable().getDataSource()
.getTotalRowCount() + " rows au total) ; whereClause = " + whereClause);
}
}
catch (RequestException ex) {
GuiUtils.showErrorDialog(abstractListWindow, getClass(),
"Erreur lors de la r�cup�ration des donn�es", ex);
}
}
}
}