IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

[RTF Template] Problemes d'utilisation et incomprehensions


Sujet :

Documents Java

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Par défaut [RTF Template] Problemes d'utilisation et incomprehensions
    Bonsoir à tous,

    J'ai mis en place RTF Template via le .jar dans mon projet.

    Ensuite j'ai bien lu attentivement la doc mais rien n'y fait, il y a plusieurs passages qui restent sans réponses.
    Je dispose de pojo pour remplir mes documents rtf. donc en suivant l'exemple je crée le builder , le template, je fais le set template, puis je fais un merge directement.

    Le fichier de départ existe bien mais sur le merge, il me sort un problème avec le rtf. J'essaie donc de créer un fichier d'arrivé mais là non plus ca me retourne la même erreur.


    Le truc c'est que dans la doc, il y a des fichier xml. Le problème c'est que la doc dit on a du xml qui doit finir par .fields.xml mais ça correspond a quoi, on le crée ou il se génère tout seul ...

    Ensuite :
    Pour effectuer ces tâches, RTFTemplate fournit une classe abstraite net.sourceforge.rtf.usecases.AbstractRTFUseCase que vous pouvez implémenter.
    ATTENTION, il n'est pas conseillé d'utiliser l'implémentation de cette classe dans votre application.
    Et un peu plus bas :
    Les méthodes qui doivent être obligatoirement implémentées sont :
    * putContext ...
    Mais je croyais qu'il ne fallait pas y toucher ...


    Et enfin le fameux : rtftemplate-config.xml
    Par défaut RTFTemplate utilise le fichier Spring rtftemplate-config.xml : Pour utiliser l'implémentation en Freemarker vous devez faire comme ceci :
    RTFTemplate rtfTemplate = builder.newRTFTemplate(RTFTemplateBuilder. DEFAULT_FREEMARKER_RTFTEMPLATE);
    On l'utilise ou pas car dans l'exemple il n'y en a pas besoin.


    J'avoue être pommé car ça m'a l'ai bien sympathique et utile mais la doc me laisse perplexe.

    Je vous remercie.

  2. #2
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Bonjour,

    Tout d'abord as tu vu qu'il y avait des exemples dans la distribution?
    Concernant la doc, elle est certes tres foutu mais tente d'etre le plus complet.
    Il faut la lire en entier.

    Le truc c'est que dans la doc, il y a des fichier xml. Le problème c'est que la doc dit on a du xml qui doit finir par .fields.xml mais ça correspond a quoi, on le crée ou il se génère tout seul ...
    Dans la partie creation modele tu verras qu'il est ecrit que les fichiers fields.xml sont generes.
    La section XML fields available decrit ce que fait ce fichier XML. Ce fichier decrit les champs utilises dans le modele (c'est surtout pour une liste de POJO que c'est util) et peut ensuit etre utilise dans la macro pour designer ton modele rapidemenet.

    Mais je croyais qu'il ne fallait pas y toucher ...
    AbstractRTFUseCase est une classe qui doit etre surcharge et qui permet de tester rapidement un modele RTF (regarde les examples dans la distribution). Il configure d'une certaine facon RTFTemplate qui n'est pas la plus optimisée, c'est pour cela qu'il n'est pas conseille d'utiliser l'implementation de AbstractRTFUseCase directement.

    J'avoue être pommé car ça m'a l'ai bien sympathique et utile mais la doc me laisse perplexe.
    La doc doit se lire dans l'ordr Création modèle, Désign modèle, Integration. Il faut bien prendre le temps de tout lire.

    Angelo

    Et enfin le fameux : rtftemplate-config.xml
    Ca au debut tu n'y touche pas , c'est pour configurer RTFTemplate avec le moteur de teamplet que tu souhaites.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Par défaut
    La doc je l'ai bien lue dans l'ordre.

    Dans la partie creation modele tu verras qu'il est ecrit que les fichiers fields.xml sont generes.
    La section XML fields available decrit ce que fait ce fichier XML. Ce fichier decrit les champs utilises dans le modele (c'est surtout pour une liste de POJO que c'est util) et peut ensuit etre utilise dans la macro pour designer ton modele rapidemenet.
    Donc je n'ai pas a y toucher car générés tous seuls.
    Mais par AbstractRTFUseCase d'ou le problème suivant :

    AbstractRTFUseCase est une classe qui doit etre surcharge et qui permet de tester rapidement un modele RTF (regarde les examples dans la distribution). Il configure d'une certaine facon RTFTemplate qui n'est pas la plus optimisée, c'est pour cela qu'il n'est pas conseille d'utiliser l'implementation de AbstractRTFUseCase directement.
    Il faut donc la surcharger obligatoirement.
    Donc ça me permet de générer mes documents directement avec les champs de mon pojo.
    dans ton exemple, putContext permet de raccourcir la ligne d'envoie des données dans le rtf, ce qui peut être fait directement.

    Par contre pour la suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void main( String[] args ) throws Exception {
            RTFProjectTest usecase = new RTFProjectTest();
            usecase.run("usecases/project/project_model.rtf");
            usecase.saveRTFVelocity(true); // Save RTF file with velocity macro
            // Display the XML fields 
            System.out.println(usecase.getXMLFields()); 
            // Save XML fields into project_model.fields.xml file with update description
            usecase.saveTransformedDocument("usecases/project/project_model.fields.xml" ,false);
        }
    Je ne vois pas ce que cette methode fait car usecase.getXMLFields() permet de récupérer quoi les champs du field.xml qui doit être généré.

    Je bloque à cet endroit. Meric de tes précision mais j'aurais encore un peu besoin de ton aide

  4. #4
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Il faut donc la surcharger obligatoirement.
    Donc ça me permet de générer mes documents directement avec les champs de mon pojo.
    dans ton exemple, putContext permet de raccourcir la ligne d'envoie des données dans le rtf, ce qui peut être fait directement.
    Oui il faut remplir TOUS les champs possible de ton POJO pour que le champs XML fields se generent correctement (c'est surtout util pour les liste). Mais comme la doc dit, la classe de test qui surcharge AbstractRTFUseCase , est utilise UNIQUEMENT pour tester ton modele et generer ton fichier XMl fields.

    Je ne vois pas ce que cette methode fait car usecase.getXMLFields() permet de récupérer quoi les champs du field.xml qui doit être généré.
    Oui, il recupere sous forme de String ton fichier XML fields, mais tu peux utiliser

    usecase.saveTransformedDocument("usecases/project/project_model.fields.xml" ,false);
    qui te genere le fichier XML fields dans un fichier. ET c'est ce fichier qu'il faudra utilise lorsque tu integrera RTFTemplate dans ton application (voir partie integration).

    Angelo

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Par défaut
    Donc pour résumer je dois créer une classe héritant de AbstractRTFUseCase avec une methode put pour chacun des pojo que je veux utiliser.
    Je crée la methode main avec le run qui charge le modele rtf et le saveRTFVelocity puis qui crée le xml avec saveTransformedDocument.

    On n'a plus qu'à utiliser comme dans l'exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    String rtfSource = "toto/modele.rtf";
      String rtfTarget = "toto/modeleComplet.rtf";
     
      RTFTemplateBuilder builder = RTFTemplateBuilder.newRTFTemplateBuilder();            
     
      RTFTemplate rtfTemplate = builder.newRTFTemplate();    
     
      rtfTemplate.setTemplate(new File(rtfSource));  
     
      RTFProjectTest rtfConv = new RTFProjectTest ();
     
      rtfConv.putMyPojo(rtfTemplate);
     
      rtfTemplate.merge(rtfTarget);
    Et normalement le tour est joué ?

  6. #6
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    As tu regarde les examples de la distribution (rtftemplate-usecases.*) ?
    Ca repondra surement a toute tes questions.

    Angelo

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Par défaut
    Bon merci

    Avec ce qui avait déja été fait en fait je n'ai pas eu besoin de toucher quoi que ce soit !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RTF Template] Utilisation d'un Writer
    Par Gob4 dans le forum Documents
    Réponses: 1
    Dernier message: 30/08/2007, 14h19
  2. Probleme d utilisation de template dans le cpp
    Par Math75 dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2005, 16h26
  3. [Système][Environnement] Problème d'utilisation?!?
    Par waldo2188 dans le forum Général Java
    Réponses: 5
    Dernier message: 23/03/2005, 17h18
  4. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo