BaseDeFiches propose un mécanisme d’exportation des données au format SQL. Cette exportation est très paramétrable, notamment lorsqu’on la base sur un modèle de données tabulaires. Cependant, il peut arriver que l’on ait besoin d’une structure d’exportation précise que ne peuvent pas fournir les modèle de données tabulaires. Dans ce cas, il est possible de faire sa propre exportation en écrivant une classe qui implémente l’interface net.mapeadores.basedefiches.sqlexport.SqlExport
.
Pour utiliser une classe implémentant SqlExport, il suffit d’indiquer son nom dans le champ « Implémentation de SqlExport spécifique ». Cette implémentation remplacera alors l’implémentation par défaut. L’implémentation spécifique peut toujours utiliser un modèle de données tabulaires ou sur des paramètres supplémentaires tel que le propose la page de modification d’une exportation. Ce n’est pas cependant pas obligatoire et la définition des paramètres supplémentaires est au choix de l’implémentation.
Une implémentation de net.mapeadores.basedefiches.sqlexport.SqlExport
doit posséder un constructeur public sans argument.
Pour que l’implémentation puisse être utilisée, il suffit de placer la classe dans WEB-INT/classes
ou sous dans un fichier jar dans WEB-INT/lib
.
Interface SQLExport
public void setParameter(String name, String value);
public void setCorpusTableExportArray(CorpusTableExport[] corpusTableExportArray);
public void setCroisementTableExportArray(CroisementTableExport[] croisementTableExport);
public ProcessLog exportDump(Basedefiches basedefiches,OutputStream outputStream) throws IOException;
Les trois premières méthodes permettent de configurer l’export, la quatrième méthode lance l’export proprement dit.
public void setParameter(String name, String value);
Transmet les paramètres éventuels définis dans le champ « paramètres ».
public void setCorpusTableExportArray(CorpusTableExport[] corpusTableExportArray);
Transmet les informations sur les exports de corpus si un modèle de données tabulaires a été choisi.
public void setCroisementTableExportArray(CroisementTableExport[] croisementTableExport);
Transmet les informations sur les croisements de table si un modèle de données tabulaires a été choisi
public ProcessLog exportDump(Basedefiches basedefiches,OutputStream outputStream) throws IOException;
Lance l’exportation :
basedefiches
: base de fiches concernée par l’exportation
outputStream
: flux d’écriture du résultat