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

avec Java Discussion :

Convertir l'identité d'un objet vers sa valeur


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 36
    Par défaut Convertir l'identité d'un objet vers sa valeur
    Bonjour tous le monde,

    J'aimerais bien savoir si quelqu'un a déjà eu l'occasion de travailler avec cette classe : org.apache.commons.betwixt.strategy.ObjectStringConverter; elle permet de convertir " the string representation of an object to its value" grace à une méthode stringToObject, en qlq sorte c'est le travail à l'envers de java.lang.object.toString(). J'ai beau essayé de la faire marcher mais elle me donne toujours une exception voici le bout de code qui me cause le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ObjectStringConverter  objectConverter = new ObjectStringConverter();
    /* temp c'est la représentation textulle ou encore l'identité de mon objet don je veux récupérer la valeur dans obj */
    String temp = "com.webProject.Terminal_atm_groupVO@fd4bba";
    Terminal_atm_groupVO obj = (Terminal_atm_groupVO) objectConverter.stringToObject(temp,Terminal_atm_groupVO.class ,new org.apache.commons.betwixt.expression.Context());
    Le message d'erreur le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.lang.String cannot be cast to ma.hps.powercard.powerATM.serviceapi.Terminal_atm_groupVO
    Le problème c'est que je ne sais pas si l'erreur est causé par l'un des arguments de la fonction stringToObject ou bien le mauvais usage de cette dernière !!

    Je suis en état de blocage, Merci de me répondre s'il vous plait et s'il y a une autre solution ça sera la bienvenue

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par onh890 Voir le message
    bien le mauvais usage de cette dernière !!
    Ça.

    ObjectStringConverter ne fait pas de magie, il ne convertit que des String qui respectent l'un des formats qu'il attend.

    En l'occurrence, com.webProject.Terminal_atm_groupVO@fd4bba ne fournit pas d'information utile pour reconstruire un objet : on sait juste que c'est un objet de classe com.webProject.Terminal_atm_groupVO, mais pas ce qu'il est censé y avoir dedans.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Inscrit en
    Août 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 36
    Par défaut
    Merci pour votre réponse thelvin ^_^
    Sinon, comment pourrais je avoir accès au paramètre value de la méthode stringToObject vu que la chaine de caractères temp n'est pas valide, y a t-il un exemple d'usage de cette méthode svp car j'ai beau essayé de trouver un sur internet mais sans aucun résultat favorable!

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Quel est l'avantage de cette méthode de construction d'objet
    par rapport à la sérialisation par exemple ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre averti
    Inscrit en
    Août 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 36
    Par défaut
    C'est pas un choix pour moi comme vous le croyez en faite c'est un composant RichFaces (rich:pickList) qui me retourne une liste d'identités d'objets, et dont je dois parcourir une par une pour récupérer mes objets un par un.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Par défaut
    En tout cas c'est pas cette librairie qui va le faire pour toi...

    doc

    stringToObject : This basic implementation just returns a string.

    => traduction la méthode fait rien...

    Ce qui est parfaitement juste si tu regardes le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public Object stringToObject(String value, Class type, String flavour, Context context) {        return value;    }
    La classe semble même disparaître dans la v1.


    Tu peux toujours faire une bonne vieille hashmap.

    Par contre si c'est du RichFaces tu devrais regarder la doc, ça doit être un cas standard.

    Bon courage

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par onh890 Voir le message
    C'est pas un choix pour moi comme vous le croyez en faite c'est un composant RichFaces (rich:pickList) qui me retourne une liste d'identités d'objets, et dont je dois parcourir une par une pour récupérer mes objets un par un.
    Non, richface "convertis" les composant en respectant les chaines des converter de JSF. C'est juste que tu as négligé de préciser à JSF quel converter il doit utiliser pour convertir ton objet depuis et vers un String. A toi donc de coder ce converter JSF et de le renseigner dans la pick list.

Discussions similaires

  1. cast d'un objet vers des types dynamiques
    Par aymen007 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 25/06/2008, 09h31
  2. convertir un objet vers un tableau de byte
    Par zerocoolyoussef dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 19/02/2008, 23h11
  3. Convertir un fichier texte de OEM vers ANSI
    Par paix02200 dans le forum VBA Access
    Réponses: 1
    Dernier message: 20/08/2007, 15h15
  4. Réponses: 2
    Dernier message: 23/02/2006, 15h51
  5. [Delphi 7] Transtypage d'un pointer objet vers un integer
    Par raoulmania dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 14h28

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