Stop further execution till rpc completes

2011-08-01 Thread Deepak Singh
Hi, I have a requirement, // some code here 1 RPC call // some code here 2 I want to stop any further execution after rpc call till rpc completes. When RPC call is finished, the control should automatically start executing next line of code. I tried Scheduler class but could get into

Re: Stop further execution till rpc completes

2011-08-01 Thread Paul Robinson
There have been lots of people ask this question here. The advice you will get is: (1) Don't try to do it like that. It's evil. (2) Embrace asynchrony. Here's what your code should look like: // some code here 1 myservice.rpcCall(args, new AsyncCallbackFoo { public void onFailure(Throwable

Aw: Stop further execution till rpc completes

2011-08-01 Thread Jens
Its not possible to stop execution as RPC requests are async. The only thing you can do is to put your code that has to wait into the onSuccess method of your RPC call. -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this

Re: Stop further execution till rpc completes

2011-08-01 Thread Deepak Singh
I am making 2 seperate RPC calls. Whichever is finished first, i would add RootPanel.get(id).add(widget) into onSuccess. I can not add same widgets two times in both onSuccess(). So i am out of mind how to resolve this. Any logic pls. On Mon, Aug 1, 2011 at 9:08 PM, Jens

Re: Stop further execution till rpc completes

2011-08-01 Thread Magno Machado
I think you'll have to do something like this: public class MyEntryPoin implements EntryPoint { private boolean alreadyAddedWidget; public void onModuleLoad() { alreadyAddedWidget = true; MyService service = GWT.create(MyService.class); service.someCall(args, new

Re: Stop further execution till rpc completes

2011-08-01 Thread Magno Machado
public void onModuleLoad() { alreadyAddedWidget = true; Sorry, it should be set to false here On Mon, Aug 1, 2011 at 2:13 PM, Magno Machado magn...@gmail.com wrote: I think you'll have to do something like this: public class MyEntryPoin implements EntryPoint { private boolean

Re: Stop further execution till rpc completes

2011-08-01 Thread Alan Chaney
How about: if (!RootPanel.get(id).contains(widget)) { RootPanel.get(id).add(widget); Because of the nature of javascript and web browsers the above call is inherently thread safe. HTH Alan On 8/1/2011 9:23 AM, Deepak Singh wrote: I am making 2 seperate RPC calls. Whichever is

Re: Stop further execution till rpc completes

2011-08-01 Thread Deepak Singh
There is no contains(widget) available like RootPanel.get(id).contains( widget). On Mon, Aug 1, 2011 at 10:48 PM, Alan Chaney a...@mechnicality.com wrote: How about: if (!RootPanel.get(id).contains(widget)) { RootPanel.get(id).add(widget); Because of the nature of javascript

Re: Stop further execution till rpc completes

2011-08-01 Thread Alan Chaney
True its WidgetCollection that has a 'contains' method but a RootPanel.get returns a RootPanel object which is a sub-class of ComplexPanel. ComplexPanel has a getWidgetIndex methods which return -1 for getWidgetIndex(Widget) and null for getWidgetIndex(HasWidget) when the requested object

Re: Stop further execution till rpc completes

2011-08-01 Thread Mark
You could always do the following boolean alreadyAdded = false; void addWidget(Widget widget) { if (!alreadyAdded) { alreadyAdded = true; RootPanel.get().add(widget); } } and then call addWidget() in each onSuccess(); first caller wins. On Aug 1, 12:23 pm, Deepak