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
>> >>> google-web-toolkit@googlegroups.com .
>> >>> To unsubscribe from this group, send email to
>> >>> google-web-toolkit+unsubscribe@googlegroups.com .
>> >>> 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
>> > google-web-toolkit@googlegroups.com .
>> > To unsubscribe from this group, send email to
>> > google-web-toolkit+unsubscribe@googlegroups.com .
>> > 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 google-web-toolkit@googlegroups.com .
> To unsubscribe from this group, send email to
> google-web-toolkit+unsubscribe@googlegroups.com .
> 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 google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
No comments:
Post a Comment