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

GWT et Vaadin Java Discussion :

Rendre 'GWT sérialisable' des classes situées dans un projet autre que celui web. (remontée d'exceptions).


Sujet :

GWT et Vaadin Java

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 607
    Points : 671
    Points
    671
    Par défaut Rendre 'GWT sérialisable' des classes situées dans un projet autre que celui web. (remontée d'exceptions).
    Bonjour,

    J'apprécie beaucoup GWT depuis que je l'ai découvert. Je le trouve très impressionnant, et même je trouve, plus encore que JSF 2 qui était déjà pas mal.

    Mais malheureusement, rien n'est parfait en tout point sur aucun framework. Et GWT, sa lourdeur à mes yeux, c'est son mécanisme de sérialisation qui est loin d'être simple.

    Aujourd'hui, je fais face à ce problème:

    J'ai un projet Web en GWT, compilé par une commande maven pour GWT.
    Un autre projet server compilé par le compilateur Java classique.
    Et un projet modèle dont j'aimerais qu'il contienne quelques objets partagés entre les deux. Particulièrement: les exceptions que le serveur est susceptible de renvoyer.

    Mon problème est que je compile le projet modèle, puis serveur, puis web et que GWT n'observe que les classes de ce dernier projet pour déterminer sur lesquelles il va générer des <Classe>_FieldSerializer.

    Il n'observe pas ce que je lui ai transmis via les autres jar.

    À première vue, il faudrait que je fasse l'une de ces choses là:
    1) À la compilation du projet GWT je lui dise: "Hé! Regarde aussi le jar du modèle et génère ce qu'il faut de _FieldSerializers."

    2) Soit juste après que le premier projet modèle ait été compilé, j'appelle un plugin GWT spécifique, s'il existe, pour que ce dernier procède à ces générations de _FieldSerializers.

    3) Que mon projet modèle soit lui-même un projet GWT, mais ne produisant pas de war mais un jar.

    Quelle est la solution la plus accessible ou bien: il y en a t-il d'autres?

    En vous remerciant,

    Grunt.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 92
    Points : 80
    Points
    80
    Par défaut
    Bonjour grunt2000,

    Il ne faut pas oublier que pour utiliser une classe dans la package client de GWT il faut qu'elle soit convertible en javascript.

    Comme tu ne déclares pas ton package de ton jar en tant que client, GWT ne les convertit pas.

    Tu as deux solutions:

    - Utiliser des exceptions qui seront dans ton package client. Car tu peux utiliser des classes du "client" depuis "server".

    - La deuxième solution consiste à utiliser "super-source". En gros cela permet de remplacer des classes qui ne sont pas dans le package "client" par des classes réécrite pour GWT. Du coup tu gardes la même déclaration de package et de classe.

    La deuxième solution est la plus pertinente à mon sens. Par contre elle t'oblige à réécrire une partie du code. Dans ton cas tes exceptions (qui ne change pas souvent à mon avis).

    Voici une lien vers un tuto "super-source": http://code.google.com/intl/fr/webto...ePathFiltering

    J’espère que ca répond à ta question.

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/07/2011, 20h14
  2. lecture des classes chargées dans la JVM ?
    Par bgcode dans le forum Général Java
    Réponses: 1
    Dernier message: 26/02/2007, 17h42
  3. Réponses: 2
    Dernier message: 07/11/2006, 10h34
  4. Réponses: 3
    Dernier message: 18/07/2006, 10h32
  5. Réponses: 4
    Dernier message: 15/03/2006, 11h22

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