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 :

Récupérer toutes les infos d'une ancienne utilisation de l'outil


Sujet :

Eclipse Platform

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut Récupérer toutes les infos d'une ancienne utilisation de l'outil
    Bonjour à tous,

    je ne sais pas si c'est possible de faire "facilement" ce que je vais demander.

    J'ai développé un outil avec Eclipse RCP. Cet outil est utilisé assez régulièrement. J'aimerai en fait savoir si une fois l'outil utilisé il est possible de faire comme une sorte de sauvegarde de tous les champs complétés par l'utilisateur. Cela permettrait ainsi à l'utilisateur de charger toutes ces informations et pouvoir changer juste les champs qui l'intéresse.

    Voilà je ne sais pas si j'ai été assez clair ni si c'est faisable avec une méthode "simple".

    Merci en tout cas pour votre aide.

    Cordialement,

    Leniouns.

  2. #2
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 469
    Points : 2 997
    Points
    2 997
    Par défaut
    S'il ne s'agit que de préférences, tu as ça: http://help.eclipse.org/kepler/index...timpandexp.htm . Tu dois sûrement pouvoir le ré-utiliser facilement dans ton appli RCP.
    Si c'est des champs de ton application à toi ou alors de diverses sources autres que des préférences, tu peux tout à fait les enregistrer dans un fichier importable/exportable. Il te faudra cependant écrire le code qui fait ça.
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  3. #3
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Si c'est dans une vue (ou un éditeur d'ailleurs), tu peux tout à fait utiliser le mécanisme de Memento.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    En effet il s'agit de champs que j'ai créé dans mon appli que l'utilisateur rempli.

    J'ai regardé sur le net, et on parle souvent de Preference Store, ce n'est pas possible d'utiliser ce dernier pour faire ce que je souhaite ?

    Avec la méthode saveState il est possible d'enregistrer tout ce que contient les champs de ma vue ?

  5. #5
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 469
    Points : 2 997
    Points
    2 997
    Par défaut
    Dans ce cas, je pense que tu es mieux a faire toi meme ton systeme de persistence et ton import/export.
    Tu stockes ca dans des Properties (et fichiers .properties), ca sera plus simple que d'utiliser le PreferenceStore.
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    D'accord. Et avec saveState ce n'est pas possible ?

    Et dans http://wiki.eclipse.org/FAQ_How_does...en_sessions%3F d'où vient le viewer qu'il utilise ?

    Je vous remercie pour votre aide.

  7. #7
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Salut,

    Le viewer donné en exemple dans ton lien est un élément de la vue, comme peuvent l'être tes champs texte etc... Le snippet montre juste comment stocker certaines infos (ici la sélection) dans l'objet IMemento. Tu peux utiliser le même principe dans ton appli, appliqué à tes widgets (champs texte, etc.).
    Si tu veux partager ces données, le mieux comme le dit Mickael est sans doute d'utiliser un fichier .properties que tu stcokeras sur le réseau par exemple.

    Au sujet des fichiers .properties Mickael, est-il possible de les stocker facilement au sein du workspace utilisateur dans la zone qui stocke la configuration et les préférences ou même de passer par des mécanismes Eclipse "tout faits" ? Pour stocker par exemple les fichiers properties stockés par une NatTable

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  8. #8
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 469
    Points : 2 997
    Points
    2 997
    Par défaut
    Citation Envoyé par alain.bernard Voir le message
    Au sujet des fichiers .properties Mickael, est-il possible de les stocker facilement au sein du workspace utilisateur dans la zone qui stocke la configuration et les préférences ou même de passer par des mécanismes Eclipse "tout faits" ? Pour stocker par exemple les fichiers properties stockés par une NatTable
    Tout est possible. Tu peux sérializer tes Properties en String et stocker ça dans une préférence de type String (certains projets mettent même du XML dans les préférences). Apres, les préférences, c'est un truc qui n'est pas optimisé pour être changer souvent. Je pense pas que ce soit un endroit recommandé pour persister des états de fichiers de travail.
    IMHO, le workspace est fait pour ça, et je trouve le code est bien moins compliqué que de bidouiller des préférences:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    IProject container = ResourcePlugin.getWorkspace().getRoot().getProject("myProject");
    if (!container.exists()) {
       container.create(progressMonitor);
    }
    // Ici on utilise des ByteArray*Stream, mais si c'est gros, il vaut mieux utiliser des Piped*Stream
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    properties.store(out, command);
    byte[] bytes = out.toByteArray();
    out.close();
    ByteArrayInputStream in = new ByteArrayInputStream(bytes);
    IFile propertiesFile = container.getFile("my.properties");
    if (propertiesFile.exists()) {
       propertiesFile.setContents(in, false, false, progressMonitor); // je mets false pour le local history, mais YMMV
    } else {
       propertiesFile.create(in, false, progressMonitor);
    }
    in.close(); // les methodes setContents et create ferment la stream en fait, mais je prefere le repeter ici parce que c'est vraiment laid de pas fermer une stream ouverte
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Désolé je suis débutant et du coup je ne comprend pas trop ton code.

    Le plus simple ne serait ce pas de créer une Map que je remplit au fur et à mesure avec les données que rentre l'utilisateur. Et à la fin de l'application remplir un fichier texte avec cette hashmap. Puis quand on re ouvre l'application, le fichier texte permet de remplir les champs automatiquement.

  10. #10
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 469
    Points : 2 997
    Points
    2 997
    Par défaut
    En fait, les Properties, c'est une map; avec des méthodes de lecture/écriture fournie (sous forme de fichier .properties). Tape "java properties" dans ton moteur de recherche préféré et tu verras plein de sites à leur sujet.
    Tu es libre de stocker tes données comme tu veux et où tu veux. Le code que j'ai donné le stocke dans le workspace d'Eclipse qui a le bon goût d'avoir un historique et qui fournit d'autres avantages, qui ne t'intéressent peut-être pas dans ton cas.
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Je te remercie pour ton aide précieuse.

    Edit : Par contre j'ai une question. Le fichier properties ne prend en argument que du String. Comment puis-je faire par exemple si je veux stocker une liste d'objet de mon projet ? Ou bien peut être que l'on ne peux pas...

Discussions similaires

  1. Récupérer toutes les valeurs d'une liste déroulante
    Par christgh dans le forum Langage
    Réponses: 4
    Dernier message: 10/12/2008, 21h17
  2. récupérer tout les mails d'une liste de diffusion
    Par cyrano_de_bergerac dans le forum C#
    Réponses: 1
    Dernier message: 07/02/2008, 21h11
  3. Récupérer toutes les occurences d'une regex ?
    Par ViRouF dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 26/01/2007, 10h40
  4. [RegEx] Regex : récupérer toutes les occurences dans une chaîne
    Par Poulpynette dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2006, 10h14

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