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

Eclipse Platform Discussion :

[Plugin] Enregistrer des données dans un fichier XML


Sujet :

Eclipse Platform

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 51
    Points
    51
    Par défaut [Plugin] Enregistrer des données dans un fichier XML
    Bonjour à tous,

    je travaille sur un plugin eclipse où je dois créer des wizards en SWT/Jface.
    Dans ces wizards j'ai besoin d'enregistrer quelques informations qui ont été spécifiées par les utilisateurs au fur et à mesure. J'ai vu un exemple qui parle de cette partie, j'ai essayé de faire la même chose mais je suis perdu !!

    If the user uses a wizard regularly, have the wizard remember some dialog settings so that the user does not have to key in certain information repeatedly. In the hotel reservation dialog, customer information such as name, phone number, and e-mail address should be saved after the wizard is closed and loaded when the wizard is opened again.

    The JFace wizard framework has built-in support for dialog setting persistence. The IDialogSettings interface represents a storage mechanism for making settings persistent. You can store a collection of key-value pairs in such stores. The key must be a string, and the values can be either a string or an array of strings. If you need to store other primitive types, such as int and double, you store them as strings and use some convenient functions declared in the interface to perform conversion. The DialogSettings class is a concrete implementation of the IDailogSettings interface. A DialogSettings store persists the settings in an XML file.

    Usually, the dialog settings should be loaded before the wizard is opened and they should be saved when the wizard is closed.
    Est ce qu'il y a quelqu'un qui peut m'aider sur ce point là en me précisant les grandes étapes à suivre.


    merci d'avance

  2. #2
    Membre averti Avatar de Aurelien Pupier
    Homme Profil pro
    Senior Software Engineer
    Inscrit en
    Décembre 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Senior Software Engineer

    Informations forums :
    Inscription : Décembre 2007
    Messages : 278
    Points : 369
    Points
    369
    Par défaut
    Bonjour,

    tu enregistres tes valeurs par clés/valeurs dans ton DialogSettings et lorsque tu quittes le wizard (dans le performFinish), tu sauves le dialogSettings en lui précisant le fichier dans lequel le sauver. Tu utilises une variable statique (DIALOG_SETTING_FILE) afind e pouvoir le récupérer pour le prochain wizard.
    Aurélien Pupier
    Eclipse GMF-Runtime Committer
    R&D Eclipse Engineer, Studio Project Leader
    BonitaSoft S.A.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 51
    Points
    51
    Par défaut
    salut !
    merci pour la réponse , donc en gros il faut écrire les parties qui sont en gras dans le lien que j'ai précisé dans mon premier post

    j'ai un petit problème dans cette partie parce que je ne comprends pas le 2ème argument de put() " data.custpmerName" , est ce que c'est la valeur que je vais stocker ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(getDialogSettings() != null) {
                    getDialogSettings().put(KEY_CUSTOMER_NAME, data.customerName);
                    try {
                        // Saves the dialog settings into the specified file.
                        getDialogSettings().save(DIALOG_SETTING_FILE);
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
    encore une autre question , si j'ai besoin de ces infos dans un autre dialogue est-il possible de les réutiliser avec cette méthode ? si c'est le cas comment je dois procéder ?
    et merci énormément

  4. #4
    Membre averti Avatar de Aurelien Pupier
    Homme Profil pro
    Senior Software Engineer
    Inscrit en
    Décembre 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Senior Software Engineer

    Informations forums :
    Inscription : Décembre 2007
    Messages : 278
    Points : 369
    Points
    369
    Par défaut
    oui c'est la valeur que tu vas stocker.

    et tu peux le réutiliser en utilisant la même valeur pour DIALOG_SETTING_FILE
    Aurélien Pupier
    Eclipse GMF-Runtime Committer
    R&D Eclipse Engineer, Studio Project Leader
    BonitaSoft S.A.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 51
    Points
    51
    Par défaut
    encore un autre problème s'il vous plaît
    en fait voilà ma classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class maClasse extends Wizard implements INewWizard,
    IExecutableExtension {
     
    public maClasse { 
    		super();
    	}
    etc ....
    }
    si je mets le load dans maClasse il y a une erreur avec super();
    j'ai pas compris pourquoi ça ne marche pas

  6. #6
    Membre averti Avatar de Aurelien Pupier
    Homme Profil pro
    Senior Software Engineer
    Inscrit en
    Décembre 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Senior Software Engineer

    Informations forums :
    Inscription : Décembre 2007
    Messages : 278
    Points : 369
    Points
    369
    Par défaut
    Quel est l'erreur?
    Et tu mets le load de quoi où?
    Aurélien Pupier
    Eclipse GMF-Runtime Committer
    R&D Eclipse Engineer, Studio Project Leader
    BonitaSoft S.A.

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 51
    Points
    51
    Par défaut
    si je mets ce bout de code dans mon constructeur ça marche pas avec le super();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DialogSettings dialogSettings = new DialogSettings("userInfo");
                try {
                    // loads existing settings if any.
                    dialogSettings.load(DIALOG_SETTING_FILE);
                } catch (IOException e) {
                    e.printStackTrace();
                }
     
                setDialogSettings(dialogSettings);
    mais bon c'est pas grave j'ai enlevé le super();
    par contre quand je lance l'application j'ai cette erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.io.FileNotFoundException: userInfo.xml (Aucun fichier ou répertoire de ce type)
    le fichier xml est ce que c'est moi qui va le créer ? excusez moi mais je suis débutant avec les plugins . Je suis sûr que c'est une question bête

  8. #8
    Membre averti Avatar de Aurelien Pupier
    Homme Profil pro
    Senior Software Engineer
    Inscrit en
    Décembre 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Senior Software Engineer

    Informations forums :
    Inscription : Décembre 2007
    Messages : 278
    Points : 369
    Points
    369
    Par défaut
    si tu regardes le lien que tu avais pointer, il catch l'exception pou r le cas où le fichier n'existe pas encore
    try {
    // loads existing settings if any.
    dialogSettings.load(DIALOG_SETTING_FILE);
    } catch (IOException e) {
    e.printStackTrace();
    }
    Aurélien Pupier
    Eclipse GMF-Runtime Committer
    R&D Eclipse Engineer, Studio Project Leader
    BonitaSoft S.A.

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 51
    Points
    51
    Par défaut
    c'est bon ça marche enfin !! ouuuf

    je suis très content merci beaucoup pour votre patience .

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

Discussions similaires

  1. enregistrement des données dans un fichier XML
    Par floriza dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/05/2011, 09h12
  2. Réponses: 6
    Dernier message: 05/02/2008, 22h52
  3. [File] enregistrer des données dans un fichier
    Par jontleman dans le forum Windows Forms
    Réponses: 8
    Dernier message: 23/08/2007, 13h08
  4. [VB6]enregistrer des données dans un fichier
    Par tchinette42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 19/04/2006, 18h55
  5. [XML] stocker des données dans un fichier XML
    Par R3iTt0R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/05/2005, 16h51

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