Opened an issue on this at 
http://code.google.com/p/google-web-toolkit/issues/detail?id=5752

On Dec 12, 11:57 am, Tobias <[email protected]> wrote:
> I am trying to reproduce this in a small example. However, it seems
> that this does not happen, when the ListEditor manages a list of
> LeafValueEditors, which is not the case in my application. I am a
> little bit confused about the whole LeafValueEditor-concept. Should my
> ListEditor always be composed of LeafValueEditors? Can i put a more
> complex editor for an entity with multiple editable properties in a
> LeafValueEditor?
> The documentation says "LeafValueEditor is used for non-object,
> immutable, or any type that the Editor framework should not descend
> into."
> However the whole ListEditor seems to be designed around it,
> especially HasDataEditor, so either ListEditor/HasDataEditor in its
> current state is bugged and not very useful when it comes to complex,
> mutable entities, or LeafValueEditor can be somehow wrapped around the
> complexity. Could someone clarify this?
>
> Thanks,
> Tobias
>
> On Dec 12, 3:29 am, Nick Hebner <[email protected]> wrote:
>
>
>
>
>
>
>
> > I am also having this issue. Seems like a bug to me as it is not
> > possible to successfully call setValue() on a ListEditor once the
> > edited object has been frozen. It appears that this issue stems from
> > AbstractEditorDelegate.Chain.detach() trying to flush after the editor
> > is detached. I don't know what the right behavior is in this case: do
> > not ever flush when detaching, only flush if the underlying autobean
> > is not frozen, or make the autobean mutable and flush into that. In
> > this case, it would make sense not to flush, but there may be other
> > cases that require it.
>
> > Thanks,
>
> > Nick
>
> > On Dec 11, 10:23 am, Tobias <[email protected]> wrote:
>
> > > 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 beenfrozen. 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 'AutoBeanhas beenfrozen' 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: TheAutoBeanhas beenfrozen'
> > > > > 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 thefrozenAutoBeans
> > > > > > from the original request. Is that a bug, or am I doing something
> > > > > > wrong?
>
> > > > > > Thanks,
> > > > > > Tobias
>
> > > > > > java.lang.IllegalStateException: TheAutoBeanhas beenfrozen
> > > > > >     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...
>
> read more »

-- 
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