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

Développement Web en Java Discussion :

Comment valoriser plusieurs attributs à partir d'une seule chaine de caractères (sans split) en JCA ?


Sujet :

Développement Web en Java

  1. #1
    Invité
    Invité(e)
    Par défaut Comment valoriser plusieurs attributs à partir d'une seule chaine de caractères (sans split) en JCA ?
    Bonjour,
    Difficile de résumer explicitement ma question en une seule ligne dans l'intitulé du message.
    Je travaille avec des beans, wrappers, dto et servlet, archi JCA, en J2EE sous RAD.
    Je reçois un flux qui est converti en DTO par le webservice. Dans ce flux j'ai notamment 2 chaines de caractères : une qui est une donnée unique (donneeA), l'autre qui est en ensemble de données concaténées les unes derrière les autres sans délimiteur (donneeB). En fonction de la donneeA, j'implémente telle ou telle classe. La donneeB contient les valeurs nécessaires à l'instanciation de la classe. Comment faire pour valoriser les attributs sans avoir à spliter moi-même la donneeB ? est-ce possible ?
    Un exemple.Je reçois le flux suivant :
    Yaris HybridDynamic3CVblanc5

    Avec ces éléments, je souhaite donc implémenter la classe "Yaris" définie avec les attributs suivants :
    String energie;
    String gamme;
    String nbChevaux;
    String couleur;
    int nbPortes

    Comment puis-je m'y prendre pour instancier ma classe ? Je sais qu'il existe Class.forname. Mais pour la valorisation des attributs ? Je voudrais pouvoir passer directement la donneeB lors de la création de mon objet et ne pas avoir à split la chaine moi-même pour valoriser chacun des attributs.
    Je voulais utiliser ma donneeB de la même façon que mon flux global. Avec un connecteur qui scinde le flux, etc. Mais le connecteur prend un format spécial en entrée, et non une String.

    Pouvez-vous m'orienter vers une solution ?
    Merci d'avance
    Eve

  2. #2
    Invité
    Invité(e)
    Par défaut
    J'ai changé mon approche : au lieu de gérer ça côté web, j'ai géré ça côté central.
    J'étais partie avec l'idée d'une copie cobol déclarant simplement deux chaines de caractères : donneeA et donneeB. Et je voulais découper ma chaine donneeB côté web.
    Maintenant le découpage de ma chaîne donneeB se fait côté central : j'ai utilisé un redefines qui va bien dans la copie cobol.
    Si je reprend l'exemple que j'avais donné précédemment :
    Je reçois le flux suivant Yaris HybridDynamic3CVblanc5

    J'ai déclaré ma copie cobol de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    01 donneeA    pic X(20).
     
    01 donneeB    pic X(80).
    01 voiture redefines donneeB.
      02 energie       pic x(10).
      02 gamme         pic x(10).
      02 nbChevaux     pic 9(2).
      02 couleur       pic X(10).
      02 nbPortes      pic 9(2).

    Le connecteur J2C interprète très bien les redefines.

    Bonne journée

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/07/2011, 16h55
  2. Création de plusieurs fichier à partir d'une seule requête
    Par V i n c e n t dans le forum Cognos
    Réponses: 5
    Dernier message: 30/06/2011, 10h14
  3. Comment accéder à plusieurs comptes à partir d'une seule interface
    Par phplover_2010 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 21/07/2010, 11h57
  4. Créer plusieures tables à partir d'une seule
    Par CHINAILLON dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/03/2008, 15h35
  5. Utiliser plusieurs macros à partir d'une seule
    Par stefano dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/02/2008, 00h54

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