Unfortunately I still have the problem with ListEditor's flushing
behaviour, regardless of using a fresh Request, Driver, etc. I
currently have to use a newly instantiated editor, which is probably
not how it's supposed to work. I can't fill a ListEditor with a new
value once the old has been frozen. Has anyone figured out, how to re-
use ListEditors? Should I file a bug on this?

Regards,
Tobias

On Dec 11, 4:29 pm, tshalif <[email protected]> wrote:
> So, my case of 'AutoBean has been frozen' is simply the default mode
> of entities returned. One must call request.edit(lesson) before using
> it. Also, when I tried to re-use (i.e. call request.edit()) with the
> request on which I called the initial request.fineEntity() I got an
> error, so I had to create a new LessonRequest for that.
>
> On Dec 10, 11:57 pm, tshalif <[email protected]> wrote:
>
>
>
>
>
>
>
> > Me too:
>
> > I have the code below, which returns an existing pojo based on uid,
> > lessonUri criteria. When I try to modify 'response' I get
> > 'java.lang.IllegalStateException: The AutoBean has been frozen'
> > thrown:
>
> >      request.findUserLesson(777L, lessonUri).fire(new
> > Receiver<LessonProxy>() {
>
> >                         @Override
> >                         public void onSuccess(LessonProxy response) {
> >                                 Lesson res = null;
>
> >                                 if (response != null) {
> >                                         res = create(requests, response);
> >                                 }
>
> >                                 cbk.onSuccess(res);
> >                         }
>
> > On Nov 9, 11:07 am, Tobias <[email protected]> wrote:
>
> > > 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(AbstractAuto
> > >  Bean.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_RequestFactoryEdit
> > >  
> > > orDelegate.flushSubEditors(IngredientEditor_RequestFactoryEditorDelegate.ja
> > >  va:
> > > 18)
> > >     at
> > > com.google.gwt.editor.client.impl.AbstractEditorDelegate.flush(AbstractEdit
> > >  orDelegate.java:
> > > 144)
> > >     at com.google.gwt.editor.client.impl.AbstractEditorDelegate
> > > $Chain.detach(AbstractEditorDelegate.java:75)
> > >     at
> > > com.google.gwt.editor.client.adapters.ListEditorWrapper.detach(ListEditorWr
> > >  apper.java:
> > > 101)
> > >     at
> > > com.google.gwt.editor.client.adapters.ListEditor.setValue(ListEditor.java:
> > > 129)
> > >     at
> > > com.google.code.lunchpad.client.recipes.IngredientListEditor.setValue(Ingre
> > >  dientListEditor.java:
> > > 50)
> > >     at
> > > com.google.gwt.editor.client.adapters.ListEditor.setValue(ListEditor.java:
> > > 1)
> > >     at
> > > com.google.gwt.editor.client.impl.AbstractEditorDelegate.initialize(Abstrac
> > >  tEditorDelegate.java:
> > > 257)
> > >     at
> > > com.google.gwt.requestfactory.client.impl.RequestFactoryEditorDelegate.init
> > >  ialize(RequestFactoryEditorDelegate.java:
> > > 83)
> > >     at
> > > com.google.code.lunchpad.client.recipes.edit.EditRecipeView_RequestFactoryE
> > >  
> > > ditorDelegate.attachSubEditors(EditRecipeView_RequestFactoryEditorDelegate.
> > >  java:
> > > 15)
> > >     at
> > > com.google.gwt.editor.client.impl.AbstractEditorDelegate.initialize(Abstrac
> > >  tEditorDelegate.java:
> > > 261)
> > >     at
> > > com.google.gwt.requestfactory.client.impl.RequestFactoryEditorDelegate.init
> > >  ialize(RequestFactoryEditorDelegate.java:
> > > 83)
> > >     at
> > > com.google.gwt.requestfactory.client.impl.AbstractRequestFactoryEditorDrive
> > >  r.edit(AbstractRequestFactoryEditorDriver.java:
> > > 67)
> > >     at
> > > com.google.code.lunchpad.client.recipes.edit.EditRecipeActivity.edit(EditRe
> > >  cipeActivity.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(DelegatingMethodAccessorImp
> > >  l.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.jav
> > >  a:
> > > 157)
> > >     at
> > > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingFo
> > >  rReturn(BrowserChannelServer.java:
> > > 326)
> > >     at
> > > com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChann
> > >  elServer.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.j
> > >  ava:
> > > 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(DelegatingMethodAccessorImp
> > >  l.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.jav
> > >  a:
> > > 157)
> > >     at
> > > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChanne
> > >  lServer.java:
> > > 281)
> > >     at
> > > com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChan
> > >  nelServer.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 [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