Hello,

I came across another problem. I have a page setup with various
Editors, including a subclass ListEditor (for dealing with a
CellTable). They accumulate changes into a RequestContext and it works
fine now. I have a "Save Changes" button that fires the request, and
now I would like to enable editing again, after the request has been
successfully processed. I think I need to create a new RequestContext
for that? Here is what I do in the onSuccess-Callback:

                context = requests.recipeRequest();
                this.recipe = context.edit(recipe);
                context.persist().using(this.recipe).with(driver.getPaths());
                driver.edit(this.recipe, context);

The last one fails however, because setting a new List causes the
ListEditor to detach from the old list, which causes a "flush", which
in turn causes a value being written to one of the frozen AutoBeans
from the original request. Is that a bug, or am I doing something
wrong?

Thanks,
Tobias



java.lang.IllegalStateException: The AutoBean has been frozen
    at
com.google.gwt.editor.client.impl.AbstractAutoBean.checkFrozen(AbstractAutoBean.java:
176)
    at
com.google.code.lunchpad.client.proxy.IngredientProxyAutoBean.access
$6(IngredientProxyAutoBean.java:1)
    at com.google.code.lunchpad.client.proxy.IngredientProxyAutoBean
$1.setText(IngredientProxyAutoBean.java:19)
    at
com.google.code.lunchpad.client.recipes.IngredientEditor_RequestFactoryEditorDelegate.flushSubEditors(IngredientEditor_RequestFactoryEditorDelegate.java:
18)
    at
com.google.gwt.editor.client.impl.AbstractEditorDelegate.flush(AbstractEditorDelegate.java:
144)
    at com.google.gwt.editor.client.impl.AbstractEditorDelegate
$Chain.detach(AbstractEditorDelegate.java:75)
    at
com.google.gwt.editor.client.adapters.ListEditorWrapper.detach(ListEditorWrapper.java:
101)
    at
com.google.gwt.editor.client.adapters.ListEditor.setValue(ListEditor.java:
129)
    at
com.google.code.lunchpad.client.recipes.IngredientListEditor.setValue(IngredientListEditor.java:
50)
    at
com.google.gwt.editor.client.adapters.ListEditor.setValue(ListEditor.java:
1)
    at
com.google.gwt.editor.client.impl.AbstractEditorDelegate.initialize(AbstractEditorDelegate.java:
257)
    at
com.google.gwt.requestfactory.client.impl.RequestFactoryEditorDelegate.initialize(RequestFactoryEditorDelegate.java:
83)
    at
com.google.code.lunchpad.client.recipes.edit.EditRecipeView_RequestFactoryEditorDelegate.attachSubEditors(EditRecipeView_RequestFactoryEditorDelegate.java:
15)
    at
com.google.gwt.editor.client.impl.AbstractEditorDelegate.initialize(AbstractEditorDelegate.java:
261)
    at
com.google.gwt.requestfactory.client.impl.RequestFactoryEditorDelegate.initialize(RequestFactoryEditorDelegate.java:
83)
    at
com.google.gwt.requestfactory.client.impl.AbstractRequestFactoryEditorDriver.edit(AbstractRequestFactoryEditorDriver.java:
67)
    at
com.google.code.lunchpad.client.recipes.edit.EditRecipeActivity.edit(EditRecipeActivity.java:
79)
    at
com.google.code.lunchpad.client.recipes.edit.EditRecipeActivity.access
$0(EditRecipeActivity.java:75)
    at com.google.code.lunchpad.client.recipes.edit.EditRecipeActivity
$2.onSuccess(EditRecipeActivity.java:110)
    at com.google.code.lunchpad.client.recipes.edit.EditRecipeActivity
$2.onSuccess(EditRecipeActivity.java:1)
    at com.google.gwt.requestfactory.client.impl.AbstractRequestContext
$4.onTransportSuccess(AbstractRequestContext.java:394)
    at com.google.gwt.requestfactory.client.DefaultRequestTransport
$1.onResponseReceived(DefaultRequestTransport.java:155)
    at
com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:
287)
    at com.google.gwt.http.client.RequestBuilder
$1.onReadyStateChange(RequestBuilder.java:395)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    at
com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
    at
com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:
157)
    at
com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:
326)
    at
com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:
207)
    at
com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:
126)
    at
com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:
561)
    at
com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:
269)
    at
com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:
91)
    at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
    at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
    at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    at
com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
    at
com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:
157)
    at
com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:
281)
    at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
531)
    at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
352)
    at java.lang.Thread.run(Thread.java:662)

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-tool...@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to