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

Format d'échange (XML, JSON...) Java Discussion :

Valeur par defaut null (JAXB)


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 101
    Par défaut Valeur par defaut null (JAXB)
    Bonjour,

    j'utilise un xsd pour générer du code java, ensuite je unmarshall un fichier xml.

    petit exemple :
    j'ai un fichier de configuration config.xml qui comporte deux champs int :
    - <param_1>1234</param_1>
    - <param_2></param_2>

    lors du unmarschall, ma classe java sera intialisée avec ceci :
    - param_1 : 1234
    - param_2 : null

    J'ai activé la ValidationEventCollector mais j'ai aucun message ou warning indiquant qu'une variable n'a pas été initialisée

    Je voudrais au choix :
    - avoir un message warning indiquant la non-initialisation
    - interdire les paramètres vides (avec une restriction dans le xsd)

    sachant que je ne peux pas valider avec l'xsd de départ car je travaille sur une carte embarquée et que je n'ai pas beaucoup de ressource.

    savez vous si la validation via l'xsd est gourmande ?

    Merci de votre aide

    Obélix

  2. #2
    Membre éclairé Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Par défaut
    Salut,
    interdire les paramètres vides (avec une restriction dans le xsd)
    tu peux faire un truc comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xs:attribute name="defaultValue" type="xs:string" use="optional" default="xcs"
    tu remplis ton default attribute avec nimporte quoi, ya aussi lattribut fixed que tu peux mettre.

    pour les warnings:
    tu dois faire une implementation de ValidationEventHandler interface, et
    tu la passe a setEventHandler( ) method de Marshaller ou Unmarshaller instance.
    sil ya des probleme la methode handleEvent est appeler, est tu peux interceptet lerreur ds ton code a cette facon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (event.getServerity(  ) == ValidationEvent.WARNING) {
        System.out.println("Warning received. Ignoring it.");
    } else {
        System.out.println("Error or Fatal Error received. Uh Oh.");
    }

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 101
    Par défaut
    ok merci pour ton aide

    je vais tester cela

Discussions similaires

  1. [2008R2] INSERT valeur non nulle ou valeur par defaut
    Par serge0934 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/02/2013, 16h38
  2. Réponses: 2
    Dernier message: 17/08/2007, 15h51
  3. Comment affecter une valeur par defaut si null?
    Par cassy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/07/2006, 19h13
  4. Sql serveur 2000 Changer null/not null et valeur par defaut
    Par mictif dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/03/2006, 07h55
  5. Valeur par defaut 'True' dans un champ de type bit
    Par Mouse dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/03/2003, 15h26

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