Bonsoir tout le monde !!!
j'arrive parfaitement à récupérer les données stockées dans mon datastore avec un retour de RPC en String[] (le code ci-dessous fonctionne !!!).
Par contre, je n'arrive pas à récupérer ces données avec en retour, ma classe Experience (par exemple void getExperiences(AsyncCallback<List<Experience>> callback); !!!
un coup j'obtiens une erreur 500 après le déploiement ! un coup je n'arrive pas à compiler (did you forget to inherit a required module) ... je deviens fou :-) Comment dois-je m'y prendre ???
Merci pour votre aide !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 package com.morey.xxx.client; import java.util.List; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; @RemoteServiceRelativePath("experience") public interface ExperienceService extends RemoteService { public String[] getExperiences(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 package com.morey.xxx.client; import java.util.List; import com.google.gwt.user.client.rpc.AsyncCallback; public interface ExperienceServiceAsync { void getExperiences(AsyncCallback<String[]> callback); }
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 package com.morey.xxx.server; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; import javax.jdo.JDOHelper; import javax.jdo.PersistenceManager; import javax.jdo.PersistenceManagerFactory; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import com.morey.xxx.client.ExperienceService; public class ExperienceServiceImpl extends RemoteServiceServlet implements ExperienceService { private static final long serialVersionUID = 1L; private static final Logger LOG = Logger.getLogger(ExperienceServiceImpl.class.getName()); private static final PersistenceManagerFactory PMF = JDOHelper.getPersistenceManagerFactory("transactions-optional"); public String[] getExperiences() { PersistenceManager pm = getPersistenceManager(); List<String> symbols = new ArrayList<String>(); try { String query = "select from " + Experience.class.getName(); List<Experience> Experiences = (List<Experience>) pm.newQuery(query).execute(); for (Experience experience : Experiences) { symbols.add(experience.getTitre()); } } finally { pm.close(); } String[] ret = new String[symbols.size()]; int i = 0; for (String s : symbols) { ret[i] = s; i++; } return ret; } private PersistenceManager getPersistenceManager() { return PMF.getPersistenceManager(); } }
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 @UiHandler({ "buttonListe" }) void onClickListe(ClickEvent e) { ExperienceServiceAsync ExperienceService = GWT .create(ExperienceService.class); ExperienceService.getExperiences(new AsyncCallback<String[]>() { public void onFailure(Throwable error) { Window.alert(error.getMessage()); } public void onSuccess(String[] experiences) { DisplayExperiences(experiences); } }); public void DisplayExperiences(String[] experiences) { Grid g = new Grid(5, 5); g.setText(1, 1, experiences[1]); g.setText(1, 2, experiences[2]); g.setText(1, 2, experiences[3]); g.setText(1, 2, experiences[4]); g.getCellFormatter().setWidth(0, 2, "256px"); centre.clear(); centre.add(g); }
Partager