Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
scrutaridata:exportapi:java [2010/02/11 18:01] vincentscrutaridata:exportapi:java [2016/09/22 14:06] (Version actuelle) vincent
Ligne 1: Ligne 1:
 ====== Implémentation de l'API en JAVA ====== ====== Implémentation de l'API en JAVA ======
  
-L'implémentation de l'API en Java se présente sous la forme d'un fichier JAR contenant la traduction de l'API sous la forme d'Interface Java ainsi qu'une implémentation de ces interfaces sous la forme de classes prêtes à l'emploi. Cette implémentation fonctionne avec Java 1.5 ou supérieur. Elle est sous licence GPL v2+L'implémentation de l'API en Java se présente sous la forme d'un fichier JAR contenant la traduction de l'API sous la forme d'Interface Java ainsi qu'une implémentation de ces interfaces sous la forme de classes prêtes à l'emploi. Cette implémentation fonctionne avec Java 1.5 ou supérieur. Elle est sous licence MIT.
  
   * Fichier JAR : [[http://dataexport.scrutari.net/impl/java/ScrutariDataExport.jar]]   * Fichier JAR : [[http://dataexport.scrutari.net/impl/java/ScrutariDataExport.jar]]
-  * Sources : [[http://dataexport.scrutari.net/impl/java/ScrutariDataExport-src.tar.gz]]+  * Sources : [[http://dataexport.scrutari.net/impl/java/ScrutariDataExport-src.zip]]
   * JavaDoc : [[http://dataexport.scrutari.net/impl/java/javadoc]]   * JavaDoc : [[http://dataexport.scrutari.net/impl/java/javadoc]]
 +
 +
 +Les sources sont accessibles avec Git via https://framagit.org/Scrutari/export-java
 +
 +Un autre accès avec Subversion :
 +
 +  svn co http://depot.exemole.fr/svn/java/ScrutariDataExport/src/
  
 ===== Utilisation de l'implémentation ===== ===== Utilisation de l'implémentation =====
Ligne 13: Ligne 20:
  
 <code java> <code java>
-public static net.scrutari.dataexport.api.ScrutariDataExport  newInstance(java.lang.Appendable appendable, int indentLength, boolean includeXMLDeclaration) +ScrutariDataExport  newInstance(java.lang.Appendable appendable, int indentLength, boolean includeXMLDeclaration) 
 </code> </code>
  
 +Cette méthode prend comme argument :
 +
 +  * Appendable appendable : instance de l'interface ''Appendable'' qui indique la destination où est enregistré le XML généré (typiquement, une instance de ''Writer'') ; les éventuelles exceptions de type ''IOException'' renvoyée par l'instance d'Appendable sont encapsulées dans une exception ''net.scrutari.dataexport.api.ExportIOException'' (qui étend ''RuntimeException'')
 +  * int indentLength : indique s'il faut indenter le code XML pour le rendre plus lisible, cette valeur peut être supérieure à zéro si le code est inclus dans un code XML plus large. Pour n'avoir ni indentation ni passage à la ligne (et donc un code XML plus ramassé), il faut indiquer la valeur ''-999''
 +  * boolean includeXMLDeclaration : indique s'il faut rajouter la déclaration XML (''<?xml version="1.0" encoding="UTF-8"?>'') au début du code XML généré.
 +
 +La méthode renvoie une instance de l'interface ScrutariDataExport dont les méthodes correspondent à celles définies par l'API ([[scrutaridata:exportapi:scrutaridataexport|ScrutariDataExport]]), cette interface appartient au paquet **net.scrutari.dataexport.api** qui comprend toute la traduction en interface Java de l'API.
 +
 +===== Exemple d'utilisation =====
 +
 +L'exemple ci-dessous montre l'utilisation de l'API pour générer un simple fichier.
 +
 +<code java>
 +import net.scrutari.dataexport.*;
 +import net.scrutari.dataexport.api.*;
 +import java.io.*;
 +
 +public class ScrutariDataExportExample {
 +
 +    public static void main(String[] args) throws IOException {
 +        /* Ouverture d'un fichier en écriture */
 +        File file = new File("test.scrutari-data.xml");
 +        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));
 +
 +        /*Création d'une instance de ScrutariDataExport */
 +        ScrutariDataExport scrutariDataExport = ScrutariDataExportFactory.newInstance(bufferedWriter,0,true);
 +
 +        /*Début de l'export */
 +        BaseMetadataExport baseMetadataExport = scrutariDataExport.startExport();
 +
 +        /*Définition des métadonnées de la base  */
 +        baseMetadataExport.setAuthority("e17a05b0-c45e-11d8-9669-0800200c9a66");
 +        baseMetadataExport.setBaseName("test");
 +        baseMetadataExport.setBaseIcon("http://monsite.net/icon-16x16pixels.png");
 +        baseMetadataExport.setIntitule(BaseMetadataExport.INTITULE_SHORT, "fr", "Test");
 +        baseMetadataExport.setIntitule(BaseMetadataExport.INTITULE_SHORT, "en", "Test");
 +        baseMetadataExport.setIntitule(BaseMetadataExport.INTITULE_LONG, "fr", "Test du format scrutariData");
 +        baseMetadataExport.setIntitule(BaseMetadataExport.INTITULE_LONG, "en", "ScrutariData Format Test");
 +        baseMetadataExport.addLangUI("fr");
 +        baseMetadataExport.addLangUI("en");
 +
 +        /*Insertion d'un corpus avec de nom « fiches » */
 +        CorpusMetadataExport corpusMetadataExport = scrutariDataExport.newCorpus("fiches");
 +
 +        /*Définition des métadonnées du corpus  */
 +        corpusMetadataExport.setCorpusType("EXP");
 +        corpusMetadataExport.setIntitule(CorpusMetadataExport.INTITULE_CORPUS, "fr","Fiches d'expérience");
 +        corpusMetadataExport.setIntitule(CorpusMetadataExport.INTITULE_FICHE, "fr", "Fiche d'expérience n° ");
 +
 +        /* Définition de deux champs complémentaires */
 +        int numero1 = corpusMetadataExport.addComplement();
 +        corpusMetadataExport.setComplementIntitule(numero1,"fr","Auteurs");
 +        corpusMetadataExport.setComplementIntitule(numero1,"en","Authors");
 +        int numero2 = corpusMetadataExport.addComplement();
 +        corpusMetadataExport.setComplementIntitule(numero2,"fr","Organismes");
 +
 +
 +        /* Premier exemple d'une fiche*/
 +        FicheExport ficheExport = scrutariDataExport.newFiche("1");
 +        ficheExport.setTitre("Première fiche");
 +        ficheExport.setFicheType("DOC");
 +        ficheExport.setDate("2006-03");
 +        ficheExport.addComplement(2,"Collectif");
 +        ficheExport.setFicheIcon("http://monsite.net/icon2-16x16pixels.png");
 +
 +        /* Second exemple de fiche, on réutilise le pointeur ficheExport */
 +        ficheExport = scrutariDataExport.newFiche("fiche2");
 +        ficheExport.setSoustitre("le sous titre");
 +        ficheExport.setTitre("Seconde fiche");
 +        ficheExport.setDate("2006-03");
 +        ficheExport.setLang("fr");
 +        ficheExport.setHref("http://monsite.net/ma-fiche-1.html");
 +        ficheExport.addComplement(2,"L'ASSO");
 +        ficheExport.addComplement(1,"Martin Dupont");
 +
 +        /* Exemple d'indexation : celle-ci peut de se faire à n'importe quel moment
 +         * même s'il ne s'agit du mot-clé ou de la fiche en cours ou que le thésaurus ou le corpus
 +         * n'ont pas encore été définis. */
 +        scrutariDataExport.addIndexation("fiches", "1", "motscles", "A01",1);
 +
 +        /* Insertion d'un thésaurus de nom « motscles » */
 +        ThesaurusMetadataExport thesaurusMetadataExport = scrutariDataExport.newThesaurus("motscles");
 +
 +        /* Définition des métadonnées du thésaurus */
 +        thesaurusMetadataExport.setIntitule(ThesaurusMetadataExport.INTITULE_THESAURUS,"fr","Mots-clés");
 +        thesaurusMetadataExport.setIntitule(ThesaurusMetadataExport.INTITULE_THESAURUS,"en","Keywords");
 +
 +        /* Exemple d'insertion d'un mot-clé au sein du thésaurus en cours */
 +        MotcleExport motcleExport = scrutariDataExport.newMotcle("A01");
 +        motcleExport.setLibelle("fr","Eau");
 +
 +        /* Autre exemple d'insertion d'indexation n'importe où*/
 +        scrutariDataExport.addIndexation("fiches", "fiche2", "motscles", "A01",4);
 +
 +        /* L'indexation précédente n'a pas changé l'état de l'export, on travaille
 +         * toujours sur le premier mot-clé */
 +        motcleExport.setLibelle("en","Water");
 +
 +        /* Fin de l'export */
 +        scrutariDataExport.endExport();
 +
 +        /* Fermeture du fichier */
 +        bufferedWriter.close();
 +    }
 +
 +}
 +</code>
  
scrutaridata/exportapi/java.1265907690.txt.gz · Dernière modification : 2010/02/11 18:01 de vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0