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

Langage Java Discussion :

Fichier de configuration cle-valeur et nombre de cle dynamique


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Par défaut Fichier de configuration cle-valeur et nombre de cle dynamique
    Bonjour,

    Alors voilà c'est bien simple, j'ai une application qui est configurable via un fichier de configuration texte (qui contient en grande partie des requêtes SQL, c'est ces lignes contenant des requêtes sql qui m'intéressent particulièrement pour ce que je souhaites pouvoir faire).

    Actuellement ça fonctionne, mais à chaque fois que je veux un peu mieux paramétrer cette application, je dois tout retravailler, code et fichier de configuration.

    Ce que j'aimerais c'est qu'on m'aide à trouver un moyen d'avoir un nombre de paramètres dynamique dans ce fichier texte, de manière à ce si j'ajoute une requête SQL (format: cle = valeur (requête SQL)), elle soit chargée et exécutée/stockée sans que j'ai à modifier le code source.

    Je vais expliquer différement parce que quand je relis ce que j'ai mis ça me paraît pas très clair.

    Dans mon fichier texte, j'ai des lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    testSelectOracle=SELECT \'bonjour\' FROM dual
    testSelectMySql=SELECT \'bonjour\'
    testSelectRDB=SELECT \'bonjour\' FROM rdb$database
    testSelectSqlServer=SELECT \'bonjour\'
     
    //et d'autres requêtes
    Actuellement elle sont chargées, mais chacune de ces lignes est appelée implicitement dans mon code. Si je rajoute par exemple une autre requête, je dois modifier mon code en conséquence. Ce n'est pas pratique.

    Ce que je voudrais c'est donc pouvoir rajouter une ligne sous ce format:
    testSelectNom_d_un_autre_type_de_DB = requête
    Et qu'elle soit chargée sans que j'ai explicitement à l'indiquer dans ma source.

    Par exemple que toutes les lignes commençant par "testSelect" dans le fichier de configuration soient chargées dans un tableau de string, et puis je me débrouille mais bon... voilà le principe.

    Vous avez déjà fait ça ?
    Comment je pourrais faire?
    J'ai lu qu'éventuellement properties.propertyNames() pourrait m'aider mais je suis pas trop sûr de moi sur ce coup.

    D'avance merci.
    Bien à vous.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    Jette un coup d'oeil du coté de l'api reflexive et toutes les histoires de bean et compagnie.

    Dans un de mes programmes, je déclare dans une classe config l'intégralité de toutes les options possibles et imaginables pour mon programme, avec une valeur par défaut, et depuis un fichier xml (mais ça pourrait etre un flux) avec la reflexivité de base (getFields et compagnie) je remplis les différents champs.

    Donc qqun qui configure mon programme ne met que les options qu'il souhaite changer.

    Maintenant si on peut te rajouter n'importe quelle option n'importe quand, alors oui, reflexive, beans, etc.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Par défaut
    Okay je vais regarder de ce côté là, merci

    D'autres suggestions ? ^^

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 62
    Par défaut
    Sinon tu charge l'intégralité du fichier et tu itères sur les clés en effet propertyNames correspond a ton besoin

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Par défaut
    Mmmh, actuellement je charge ligne par ligne, en spécifiant le fichier et la clé dont je dois extraire la valeur.

    Comment je peux faire pour charger TOUT ce qui se trouve dans un fichier ?

    Et limite tout stocker dans une énorme string que je découpe à coup de substring par après... à la limite.

    Merci pour les réponses.

  6. #6
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Je vais certainement dire un bêtise, mais pourquoi n'utilises-tu pas un fichier de Properties ?

Discussions similaires

  1. Changer valeur dans fichier de configuration ini
    Par tete-jaune dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2013, 17h32
  2. Réponses: 4
    Dernier message: 09/09/2005, 12h59
  3. [Log4j] fichier de configuration ou XML ?
    Par nabilblk dans le forum Logging
    Réponses: 2
    Dernier message: 02/09/2005, 16h42
  4. [langage] Lire un fichier de configuration
    Par bobinoo dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2004, 15h53
  5. Les fichiers de configuration de comptes avec Samba
    Par tomnie dans le forum Réseau
    Réponses: 4
    Dernier message: 18/03/2004, 08h30

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