Ok so either i use Scheduler and loose test ability or i refactor and use a delegate/handler as used in async-services, right? (no answer means yes :-))
On Wednesday, 25 April 2012 09:11:22 UTC+2, Chris Price wrote: > > I think your only two choices are to either avoid the event bus for > the async data call, or as you suggest with the Scheduler. > > On Wed, Apr 25, 2012 at 7:54 AM, tanteanni wrote: > > > > Thanks! > > I understand (some time ago i had a similar problem but in my > "main"-Class - > > it didn't react on first place change event) > > but the solution is ugly: > > ...Scheduler.get().scheduleFinally(new ScheduledCommand()... > > > > is there another way to get this working? i need the dataModel in start > to > > restore the state given by place. > > > > > > On Wednesday, 25 April 2012 08:21:58 UTC+2, Chris Price wrote: > >> > >> Ah yes, the code you pasted exactly fits the problem I described. The > >> activity start method is called by the ActivityManager from within the > >> PlaceChangeEvent.Handler [1]. The SimpleEventBus, uses deferred > >> methods to only apply changes to the handler lists after the current > >> round of events have fired [2]. i.e. if you are currently in a > >> handler, add a handler and then immediately fire that event, your > >> handler won't be called. > >> > >> [1] > >> > http://code.google.com/p/google-web-toolkit/source/browse/branches/2.1/bikeshed/src/com/google/gwt/app/place/ActivityManager.java?r=8009#85 > > >> [2] > >> > http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/web/bindery/event/shared/SimpleEventBus.java#156 > > >> > >> On Wed, Apr 25, 2012 at 7:11 AM, tanteanni wrote: > >> > >> > >> > i think this is not the problem. first i register for event then i > fetch > >> > the > >> > data that triggers the event. here is the code of start method: > >> > > >> > @Override > >> > public final void start(final AcceptsOneWidget panel, final > >> > com.google.gwt.event.shared.EventBus eventBus) { > >> > this.eb = new ResettableEventBus(eventBus); > >> > view.setPresenter(this); > >> > this.eb.addHandler(DynamicTableHashResolvedEvent.TYPE, > >> > this);//handler registration > >> > stateResolver.resolveState(((DynamicTablePlace) > >> > pc.getWhere()).getTablehash(), eb);//triggers event > >> > panel.setWidget(view); > >> > } > >> > > >> > the event triggered in start method will be received when next event > is > >> > triggered - so after the start method i am one event too "late". > >> > > >> > > >> > On Tuesday, 24 April 2012 19:19:28 UTC+2, Chris Price wrote: > >> >> > >> >> Does your data fetch include the event bus in some way? If so you > may > >> >> be > >> >> running into the problem that handler changes (adds/removes) are > only > >> >> applied after the current event has completed. In this case that > event > >> >> would > >> >> be the place change eventually calling the activity start. > >> >> > >> >> Sorry for the lack of references, im not at a pc > >> >> > >> >> On 24 Apr 2012 14:49, "tanteanni" wrote: > >> >> > >> >>> i have an activity that needs another class to resolve the state > (ids > >> >>> to > >> >>> real objects) brought by current place. this class' > >> >>> "getData(StateObject)" > >> >>> is called within start-method right after registering for the > class' > >> >>> gotData-event. But the activitie's onGotData-data method isn't > called > >> >>> the > >> >>> first time. If the activity calls getData after the start method > all > >> >>> works > >> >>> fine. > >> >>> i have the feeling that this can't work but how to get it working? > The > >> >>> data class need an object provided by a special kind of place (the > >> >>> same > >> >>> place as the activity starts on). > >> >>> > >> >>> -- > >> >>> You received this message because you are subscribed to the Google > >> >>> Groups > >> >>> "Google Web Toolkit" group. > >> >>> To view this discussion on the web visit > >> >>> https://groups.google.com/d/msg/google-web-toolkit/-/6MNHc8yNbm0J. > >> >>> 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. > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "Google Web Toolkit" group. > >> > To view this discussion on the web visit > >> > https://groups.google.com/d/msg/google-web-toolkit/-/BLVNKJReNVAJ. > >> > > >> > 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. > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "Google Web Toolkit" group. > > To view this discussion on the web visit > > https://groups.google.com/d/msg/google-web-toolkit/-/ttj2N8rpsIIJ. > > > > 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. > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/oXUpaR5fzNIJ. 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.
