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

Java Discussion :

HashMap key n'est pas trouvé


Sujet :

Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut HashMap key n'est pas trouvé
    Bonjour à tous,

    Je reviens vers vous pour vous demander de l'aide avec un soucis que je rencontre dans mon Script.
    Dans mon code, j'ai un objet BdcField qui possède un attribut attribute de type HashMap<String, String>.

    Je remplis cet attribut en lisant un fichier XML, et dans mon code, lors que je demande de vérifier si mon objet BdcField possède un attribut particulier, je n'arrive pas à le trouver (en effet, des 6 attributs, je ne vois que 3 si je fais des tests : ref:help, controles et ref:label).

    Le code que j'utilise est le suivant :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String value = this.getAttributes().get(Constants.BDC_CONTROL_COLORIS_FIELD_CODE);
    if (value != null) {
        ...
    }

    J'ai aussi essayé avec la fonction containsKey :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (this.getAttributes().containsKey(Constants.BDC_CONTROL_COLORIS_FIELD_CODE))
    Mais j'ai toujours le même résultat. Dans la capture d'écran jointe vous pouvez voir que l'attribut est bien présente dans mon HashMap.

    De pus, ce même code fonctionne très bien pour d'autres BdcFields, j'ai ce souci qu'avec celui.

    Pourriez-vous m'aider à éclaircir ce qui ne va pas ?

    Je vous remercie par avance de votre aide,

    Cordialement,
    Marc
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    Pour information complémentaire, j'ai aussi joué le code suivant :
    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
    if (this.getNom().equals("gcfttx:code_postal")){
                System.out.println(" ********** teste CP ************");
                for(Map.Entry attr : this.getAttributes().entrySet()){
                    System.out.println(" - " + attr.getKey() + " = " + attr.getValue());
                }
                System.out.println(" ********************************");
            }
     
            boolean controle = false;
            for(Map.Entry attr : this.getAttributes().entrySet()){
                if(attr.getKey().equals(Constants.BDC_CONTROL_COLORIS_FIELD_CODE)){
                    controle=true;
                    break;
                }
            }
    J'ai bien comme sortie
    ********** teste CP ************
    - ref:help = Vous pouvez taper les 2 chiffres du département suivi de *
    - controles = $OZ
    - idCtrl = 1
    - idCOLORIS = codePostal
    - ref:label = Code postal
    - controlColoris = ControlColNROVerifCPRIP
    ********************************
    Ce qui montre qui l'attribut est bien présent, mais au même temps ma nouvelle variable "controle" ne devient jamais "true"...

    EDIT :
    J'ai aussi testé:
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    boolean controle = false;
            for(Map.Entry attr : this.getAttributes().entrySet()){
                String keyName = attr.getKey().toString();
                if(keyName.equals(Constants.BDC_CONTROL_COLORIS_FIELD_CODE)){
                    controle=true;
                    break;
                }
            }

    Mais le .equals ne marche pas, même s'il semble correct...
    Images attachées Images attachées  

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 630
    Points
    21 630
    Par défaut
    Hello,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    controlColoris
    controlCOLORIS
    T'es sûr que c'est vraiment exactement les mêmes ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    Merci beaucoup de votre retour,

    Je suis vraiment désolé, il doit être le vendredi...

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

Discussions similaires

  1. prblm rtl100.bpl n'est pas trouve avec delphi 2007
    Par alateemo dans le forum Delphi
    Réponses: 1
    Dernier message: 27/06/2007, 00h04
  2. faire un forward quand l'action n'est pas trouvée
    Par newbeewan dans le forum Struts 1
    Réponses: 1
    Dernier message: 07/03/2007, 13h22
  3. [information] utiliser des "dessins" si le fichier image n'est pas trouvé
    Par TabrisLeFol dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/05/2006, 12h05
  4. [ImageMagick] imagettftext, ma police n'est pas trouvée
    Par beho dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/12/2005, 16h08
  5. [XSD] le schéma xsd n'est pas trouvé!
    Par cpicass dans le forum Valider
    Réponses: 5
    Dernier message: 09/06/2005, 10h48

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