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.

Reply via email to