It is designed to function that way. GWT services are Asynchronous,
there is no guarantee on the order of execution of the onSucess()
method of AsyncCallback.

I would recommend you go through this link -
http://code.google.com/webtoolkit/doc/1.6/DevGuideServerCommunication.html#DevGuideGettingUsedToAsyncCalls


On Sep 4, 1:43 pm, abad <[email protected]> wrote:
> Hi i have a problem when a Call a GWT because the  onSuccess method of
> the AsyncCallback is executing later that the event ocurrs i find out
> this doing a debug.
>
> Here is the code of the Classes.
>
> package co.com.argos.mgd.admon.client;
>
> import java.util.ArrayList;
>
> import co.com.argos.mgd.admon.client.gui.CompetenciasGrid;
> import co.com.argos.mgd.admon.client.services.CompetenciasService;
> import
> co.com.argos.mgd.admon.client.services.CompetenciasServiceAsync;
> import co.com.argos.mgd.admon.client.structures.ArrayCompetencias;
>
> import com.google.gwt.core.client.EntryPoint;
> import com.google.gwt.core.client.GWT;
> import com.google.gwt.user.client.rpc.AsyncCallback;
> import com.google.gwt.user.client.rpc.ServiceDefTarget;
> import com.google.gwt.user.client.ui.HTML;
> import com.gwtext.client.core.Position;
> import com.gwtext.client.widgets.MessageBox;
> import com.gwtext.client.widgets.Panel;
> import com.gwtext.client.widgets.TabPanel;
> import com.gwtext.client.widgets.Viewport;
> import com.gwtext.client.widgets.layout.FitLayout;
>
> public class AdmonMGDGWT implements EntryPoint {
>
>         private Panel panel = new Panel();
>         Panel competenciasPanel = null;
>         ArrayList competencias = new ArrayList();
>
>     public ArrayList getCompetencias() {
>                 return competencias;
>         }
>
>         public void setCompetencias(ArrayList competencias) {
>                 this.competencias = competencias;
>         }
>
>         public void onModuleLoad() {
>
>                 obtenerCompetencias();
>         crearTabs(getCompetencias());
>                 Panel panel = getPanel();
>         Viewport viewport = new Viewport(panel);
>
>     }
>
>     public void crearTabs(ArrayList c) {
>                 CompetenciasGrid grid = new CompetenciasGrid(c);
>         panel = new Panel();
>         panel.setBorder(false);
>         panel.setPaddings(15);
>         panel.setLayout(new FitLayout());
>         panel.add(grid);
>
>             }
>
>         public Panel getPanel() {
>                 return panel;
>         }
>
>         public void setPanel(Panel panel) {
>                 this.panel = panel;
>         }
>
>         public Panel getCompetenciasPanel() {
>                 return competenciasPanel;
>         }
>
>         public void setCompetenciasPanel(Panel competenciasPanel) {
>                 this.competenciasPanel = competenciasPanel;
>         }
>
>         public void agregarTabs(TabPanel tab){
>                 panel.add(tab);
>
>         }
>
>         public void obtenerCompetencias(){
>                       AsyncCallback callback = new AsyncCallback()
>
>                     {
>
>                        public void onSuccess( Object result )
>
>                        {
>
>                            setCompetencias((ArrayList) result);
>
>                        }
>
>                        public void onFailure( Throwable ex )
>
>                        {
>
>                           MessageBox.alert( "Error", "Error while loading
> data" );
>
>                        }
>
>                     };
>           CompetenciasService.Util.getInstance().getCompetencias
> (callback);
>
>         }
>
> }
>
> And the competenciasService is
>
> package co.com.argos.mgd.admon.client.services;
>
> import java.util.ArrayList;
>
> import com.google.gwt.core.client.GWT;
> import com.google.gwt.user.client.rpc.RemoteService;
> import com.google.gwt.user.client.rpc.ServiceDefTarget;
>
> public interface CompetenciasService extends RemoteService {
>
>         public static final String SERVICE_URI = "/competencias";
>
>         public static class Util {
>
>                 public static CompetenciasServiceAsync getInstance() {
>
>                         CompetenciasServiceAsync instance = 
> (CompetenciasServiceAsync) GWT
>                                         .create(CompetenciasService.class);
>                         ServiceDefTarget target = (ServiceDefTarget) instance;
>                         target.setServiceEntryPoint(SERVICE_URI);
>                         return instance;
>                 }
>         }
>         public ArrayList getCompetencias();
>         public void crearCompetencia(String nombre,String
> grupoCompetencia,String nivelEsperado,String definicion,String
> comportamientosObservables,String usuarioCreacion);
>         public void modificarCompetencia(String idCompetencia,String
> nombre,String grupoCompetencia,String nivelEsperado,String
> definicion,String comportamientosObservables,String
> usuarioModificacion);
>         public void statusCompetencia(String idCompetencia,String
> usuarioModificacion) ;
>
> }
>
> and the Service Implementation
>
> package co.com.argos.mgd.admon.server;
>
> import java.util.ArrayList;
>
> import co.com.argos.mgd.admon.client.services.CompetenciasService;
> import co.com.argos.mgd.admon.server.bl.BLCompetencia;
>
> import com.google.gwt.user.server.rpc.RemoteServiceServlet;
>
> /**
>  * Servlet implementation class ServletCompetencias
>  */
> public class CompetenciasServicesImpl extends RemoteServiceServlet
> implements CompetenciasService {
>
>         /**
>          *
>          */
>         private static final long serialVersionUID = 1L;
>
>         public ArrayList getCompetencias() {
>        ArrayList competencias = new ArrayList();
>        competencias = BLCompetencia.instance().getCompetencias("2");
>                 return competencias;
>         }
>
>         public void crearCompetencia(String nombre, String grupoCompetencia,
>                         String nivelEsperado, String definicion,
>                         String comportamientosObservables, String 
> usuarioCreacion) {
>                 BLCompetencia.instance().crearCompetencia(nombre, 
> grupoCompetencia,
> nivelEsperado, definicion, comportamientosObservables,
> usuarioCreacion);
>
>         }
>
>         public void modificarCompetencia(String idCompetencia,String
> nombre,String grupoCompetencia,String nivelEsperado,String
> definicion,String comportamientosObservables,String
> usuarioModificacion) {
>                 BLCompetencia.instance().modificarCompetencia(idCompetencia, 
> nombre,
> grupoCompetencia, nivelEsperado, definicion,
> comportamientosObservables, usuarioModificacion);
>
>         }
>
>         public void statusCompetencia(String idCompetencia,String
> usuarioModificacion) {
>                 
> BLCompetencia.instance().activarDesactivarCompetencia(idCompetencia,
> usuarioModificacion);
>
>         }
>
> }
>
> Thanks for all your Help
>
> Best Regards.
>
> Carlos Jaramillo
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to