Patrick, Are you using an ORM like hibernate or JDO? One of my concerns is, unless you wrap the entire request in an transaction, the result of any find() calls within JsonRequestProcessor are going to be detached objects. Different ORMs have different pre-fetched semantics, for example, some of them will by default, fetch 1-level deep references. After detachment, generally trying to retrieve a relational field returns null. JsonRequestProcessor is ORM agnostic, so it is generally up to the developer to ensure that objects will be completely filled out or lazily fillable before RequestFactory tries to serialize them.
On Mon, Oct 4, 2010 at 11:15 AM, Ray Ryan <rj...@google.com> wrote: > https://jira.springsource.org/browse/ROO-1488 > > > On Mon, Oct 4, 2010 at 11:13 AM, Ray Ryan <rj...@google.com> wrote: > >> Bob is in transit today. We're working on a fix. >> >> >> On Mon, Oct 4, 2010 at 9:07 AM, Patrick Julien <pjul...@gmail.com> wrote: >> >>> Bob, >>> >>> any suggestions for a work around for the moment? >>> >>> >>> On Mon, Oct 4, 2010 at 9:41 AM, Patrick Julien <pjul...@gmail.com> >>> wrote: >>> > For the editor part, I can see in the generated code for my editor that >>> > >>> > public static void traverseEditor(com.*.client.ui.EditorContainer >>> > editor, String prefix, java.util.List<String> paths) { >>> > } >>> > >>> > is completely empty >>> > >>> > but in this case, EditorContainer contains OfficeEditor because it's a >>> > composite. OfficeEditor has one AddressEditor and a >>> > HasDataEditor<Phone> >>> > >>> > so getPath() is currently buggy unless there's a way I can fill in my >>> > own traverseEditor somehow >>> > >>> > On Sun, Oct 3, 2010 at 9:47 PM, Patrick Julien <pjul...@gmail.com> >>> wrote: >>> >> I'm still having difficulties even with this syntax, again the >>> >> collections seem to be the problem >>> >> >>> >> so having "offices" give me back all my offices. >>> >> >>> >> but putting "offices.address", or "offices.office.address" or >>> >> "office.address" still gives me null >>> >> >>> >> On Sun, Oct 3, 2010 at 9:07 PM, Ray Cromwell <cromwell...@gmail.com> >>> wrote: >>> >>> >>> >>> the syntax of with() is with("property.subProperty.subSubProperty", >>> >>> "property2.subProperty2.subPropertyProperty2"). Bob can answer the >>> question >>> >>> as to how to make deeply composited editors do the right thing. >>> >>> >>> >>> On Sun, Oct 3, 2010 at 6:02 PM, Patrick Julien <pjul...@gmail.com> >>> wrote: >>> >>>> >>> >>>> No, it's not just me, anything one level deep doesn't get picked up. >>> >>>> >>> >>>> So my offices also have on address and it's not in the getPath() >>> array >>> >>>> either. Even if it was, what's the syntax for sub path elements? >>> >>>> >>> >>>> On Sun, Oct 3, 2010 at 8:38 PM, Patrick Julien <pjul...@gmail.com> >>> wrote: >>> >>>> > Getting there. So now getPaths() gets me the data for my offices >>> and >>> >>>> > patients but not the phones inside the offices. >>> >>>> > >>> >>>> > Since offices is using my own composite editor, I'm going to >>> assume >>> >>>> > that's where the problem is >>> >>>> > >>> >>>> > On Sun, Oct 3, 2010 at 8:22 PM, BobV <b...@google.com> wrote: >>> >>>> >> On Sun, Oct 3, 2010 at 7:24 PM, Patrick Julien < >>> pjul...@gmail.com> >>> >>>> >> wrote: >>> >>>> >>> Yeah, because even with using with(). The problem is the entire >>> >>>> >>> object graph isn't there >>> >>>> >>> >>> >>>> >>> So I have a practice that has offices and each office has >>> phones. >>> >>>> >>> >>> >>>> >>> So if I ask for offices. It fills in the offices but the phones >>> >>>> >>> inside it are not. This could get laborious if I need to do >>> this >>> >>>> >>> manually for each editing activity >>> >>>> >> >>> >>>> >> Use RequestFactoryEditorDriver.getPaths(); >>> >>>> >> >>> >>>> >> >>> >>>> >> interface MyOfficeDriver extends >>> >>>> >> RequesFactoryEditorDriver<OfficeProxy, OfficeEditor> {} >>> >>>> >> >>> >>>> >> MyOfficeDriver driver = GWT.create(MyOfficeDriver.class); >>> >>>> >> driver.initialize(requestFactory, editor); >>> >>>> >> >>> >>>> >> >>> requestFactory.officeService().fetchOffice(1234).with(driver.getPaths()).to(receiver).fire(); >>> >>>> >> >>> >>>> >> >>> >>>> >> -- >>> >>>> >> Bob Vawter >>> >>>> >> Google Web Toolkit Team >>> >>>> >> >>> >>>> >> -- >>> >>>> >> http://groups.google.com/group/Google-Web-Toolkit-Contributors >>> >>>> > >>> >>>> >>> >>>> -- >>> >>>> http://groups.google.com/group/Google-Web-Toolkit-Contributors >>> >>> >>> >>> -- >>> >>> http://groups.google.com/group/Google-Web-Toolkit-Contributors >>> >> >>> > >>> >>> -- >>> http://groups.google.com/group/Google-Web-Toolkit-Contributors >>> >> >> > -- > http://groups.google.com/group/Google-Web-Toolkit-Contributors > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors