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 :

Intégration Gilead "ClassUtils.immutable"


Sujet :

GWT et Vaadin Java

  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 21
    Par défaut Intégration Gilead "ClassUtils.immutable"
    Bonjour,

    je me permets de requérir votre aide dans mon apprentissage de gwt, j'essai en vain d'intégrer Gilead pour pouvoir utiliser Hibernate...

    Mais ça ne marche pas: j'ai un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.lang.NoSuchMethodError: net.sf.beanlib.utils.ClassUtils.immutable(Ljava/lang/Class;)Z
    pour lequel je n'ai à présent trouvé ni solution ni réelle documentation, je me tourne donc vers vous.


    Voici pour documenter un peu un problème:

    - Un extrait de la console

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    15 févr. 2010 13:24:15 net.sf.gilead.core.PersistentBeanManager mergePojo
    INFO: HibernatePOJO not found : can be transient or deleted data : Regle structure
       [WARN] Exception while dispatching incoming RPC call
    java.lang.NoSuchMethodError: net.sf.beanlib.utils.ClassUtils.immutable(Ljava/lang/Class;)Z
    Mon service Web:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public TypeAppServiceImpl(){	
     
     
    		HibernateUtil hibernateUtil = new HibernateUtil();
     
    		PersistentBeanManager persistentBeanManager = GwtConfigurationHelper.initGwtStatelessBeanManager(hibernateUtil);
     
    		setBeanManager(persistentBeanManager);
    	}
     
    	public void getTypeApp(String leType) {		
     
    			System.out.println("Type ajouté: "+ leType);
    	}

    Le panel qui appelle le Web Service

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public ListeItemFlowPanel(String nameMenu){
     
    		super();
    		this.setSize("100%", "100%");
     
     
    		// Creation et initialisation du proxy client permettant l’appel du service : TypeApp
    		// 1) Creation du stub
    		typeAppService = (TypeAppServiceAsync) GWT.create(TypeAppService.class);
     
    		// 2) Definir l’URL : elle doit appartenir au meme domaine que la page html Host
    		endpoint = (ServiceDefTarget) typeAppService;
     
    		String moduleRelativeURL = GWT.getModuleBaseURL() + "TypeApp";
     
    		endpoint.setServiceEntryPoint(moduleRelativeURL);
     
    		//on appelle le web service
    		typeAppService.getTypeApp(nameMenu, new AsyncCallback<Void>() {			
     
    			public void onSuccess(Void result) {
    				Window.alert("appel réussi");	
    				label1 = new Label("Le cri de la réussite");
    				add(label1);
    			}
     
    			public void onFailure(Throwable caught) {
    				Window.alert("appel rate");		
    				System.out.println(caught.getMessage());
    			}
    		});
     
    	}

    Mon appli.gwt.xml

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?xml version="1.0" encoding="UTF-8"?>
    <module rename-to='mco_configurator_gwt'>
      <!-- Inherit the core Web Toolkit stuff.                        -->
      <inherits name='com.google.gwt.user.User'/>
      <inherits name="com.googlecode.gwt.math.Math"/>
      <inherits name='net.sf.gilead.Gilead4Gwt'/>
     
      <!-- Inherit the default GWT style sheet.  You can change       -->
      <!-- the theme of your GWT application by uncommenting          -->
      <!-- any one of the following lines.                            -->
      <inherits name='com.google.gwt.user.theme.standard.Standard'/>
      <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
      <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->
     
      <!-- Other module inherits                                      -->
     
      <!-- Specify the app entry point class.                         -->
      <entry-point class='com.a806278.MCO.client.MCO_Configurator_GWT'/>
     
      <!-- Service implementation									  -->
     
      <!-- Specify the paths for translatable code                    -->
      <source path='client'/>
      <source path='Entity'/>
      <source path='WebService'/>
     
    </module>

    Mon web.xml

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">
     
    <web-app>
     
      <!-- Servlets -->
     
      <servlet>
      	<servlet-name>TypeAppServiceImpl</servlet-name>
      	<servlet-class>com.a806278.MCO.server.TypeAppServiceImpl</servlet-class>
      </servlet>
     
      <servlet-mapping>
      	<servlet-name>TypeAppServiceImpl</servlet-name>
      	<url-pattern>/mco_configurator_gwt/TypeApp</url-pattern>
      </servlet-mapping>
     
     
      <!-- Default page to serve -->
      <welcome-file-list>
        <welcome-file>MCO_Configurator_GWT.html</welcome-file>
      </welcome-file-list>
     
    </web-app>

    et pour finir mon hibernateUtil, que j'ai modifié à l'arrache pour implémenter IPersistenceUtil car le gwtConfigurationHelper me soulevait une erreur:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package com.a806278.MCO.Hibernate;
     
     
    import java.io.Serializable;
    import java.util.Collection;
    import java.util.List;
    import java.util.Map;
     
    import net.sf.gilead.core.IPersistenceUtil;
     
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
     
    /**
     * Hibernate Utility class with a convenient method to get Session Factory object.
     *
     * @author a806278
     */
    public class HibernateUtil implements IPersistenceUtil {
     
        private static Log log = LogFactory.getLog(HibernateUtil.class);
        private static SessionFactory sessionFactory;
     
        public HibernateUtil() {
            try {
                // Create the SessionFactory
                sessionFactory =
    			new Configuration().configure("/com/a806278/MCO/Hibernate/hibernate.cfg.xml").buildSessionFactory();
            } catch (Throwable ex) {
                // Make sure you log the exception, as it might be swallowed
                log.error("Initial SessionFactory creation failed." + ex);
                throw new ExceptionInInitializerError(ex);
            }
        }
     
        @SuppressWarnings("unchecked")
    	public static final ThreadLocal session = new ThreadLocal();
     
        @SuppressWarnings("unchecked")
    	public Session currentSession() {
            Session s = (Session) session.get();
            // Open a new Session, if this Thread has none yet
            if (s == null) {
                s = sessionFactory.openSession();
                session.set(s);
            }
            return s;
        }
     
        @SuppressWarnings("unchecked")
    	public void closeSession() {
            Session s = (Session) session.get();
            if (s != null)
                s.close();
            session.set(null);
        }
     
    	@SuppressWarnings("unchecked")
    	public void closeCurrentSession() {
    		 Session s = (Session) session.get();
    	        if (s != null)
    	            s.close();
    	        session.set(null);
    	}
     
    	public Object createEntityProxy(Map<String, Serializable> arg0) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public Collection<?> createPersistentCollection(Object arg0,
    			Map<String, Serializable> arg1, Collection<?> arg2) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public Map<?, ?> createPersistentMap(Object arg0,
    			Map<String, Serializable> arg1, Map<?, ?> arg2) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public List<Object> executeQuery(String arg0, List<Object> arg1) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public List<Object> executeQuery(String arg0, Map<String, Object> arg1) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public void flushIfNeeded() {
    		// TODO Auto-generated method stub
     
    	}
     
    	public Serializable getId(Object arg0) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public Serializable getId(Object arg0, Class<?> arg1) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public Class<?> getUnenhancedClass(Class<?> arg0) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public void initialize(Object arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
    	public boolean isEnhanced(Class<?> arg0) {
    		// TODO Auto-generated method stub
    		return false;
    	}
     
    	public boolean isInitialized(Object arg0) {
    		// TODO Auto-generated method stub
    		return false;
    	}
     
    	public boolean isPersistentClass(Class<?> arg0) {
    		// TODO Auto-generated method stub
    		return false;
    	}
     
    	public boolean isPersistentCollection(Class<?> arg0) {
    		// TODO Auto-generated method stub
    		return false;
    	}
     
    	public boolean isPersistentMap(Class<?> arg0) {
    		// TODO Auto-generated method stub
    		return false;
    	}
     
    	public boolean isPersistentPojo(Object arg0) {
    		// TODO Auto-generated method stub
    		return false;
    	}
     
    	public Object load(Serializable arg0, Class<?> arg1) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public Object loadAssociation(Class<?> arg0, Serializable arg1, String arg2) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	@SuppressWarnings("unchecked")
    	public void openSession() {
    		 Session s = (Session) session.get();
    	        // Open a new Session, if this Thread has none yet
    	        if (s == null) {
    	            s = sessionFactory.openSession();
    	            session.set(s);
    	        }
     
    	}
     
    	public Map<String, Serializable> serializeEntityProxy(Object arg0) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public Map<String, Serializable> serializePersistentCollection(
    			Collection<?> arg0) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public Map<String, Serializable> serializePersistentMap(Map<?, ?> arg0) {
    		// TODO Auto-generated method stub
    		return null;
    	}
    }

    Merci d'avance pour tout aide ou indication qui m'aidera à progresser.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 129
    Par défaut
    A en croire ton erreur, la méthode immuable n'est pas présente dans ta librairie beanlib. Essaie de changer ta version des beanlibs.

    Quelle version utilises tu ?

Discussions similaires

  1. Quote et double quote
    Par aktos dans le forum Langage
    Réponses: 8
    Dernier message: 05/01/2007, 19h55

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