It doesn't compile if you do that! :-) Man this is frustrating. Even though it is a nested pojo, the attribute of the sibling object is a String.
--- In flexcoders@yahoogroups.com, "Peter Farland" <[EMAIL PROTECTED]> wrote: > Hmm, do you need to add curly braces as I have below? > > <mx:DataGridColumn columnName="{siblingObject.myValue}" headerText="myV" > /> > > > > -----Original Message----- > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of Kevin Ewok > Sent: Monday, June 13, 2005 5:00 PM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] Re: Web browser crashing on remote method call > > The 2 constructors for my MainPojo and SiblingPojo (for the Java > classes and AS classes) both had only a single empty constructor > like below. Again, thanks for your help. > > AS---> public function SiblingPojo(){} > Java-> public SiblingPojo(){} > > --- In flexcoders@yahoogroups.com, "Peter Farland" <[EMAIL PROTECTED]> > wrote: > > > > Can you post the constructor code for the AS representation of the > POJO > > classes? > > > > > > > > > > -----Original Message----- > > From: flexcoders@yahoogroups.com > [mailto:[EMAIL PROTECTED] On > > Behalf Of Kevin Ewok > > Sent: Monday, June 13, 2005 4:14 PM > > To: flexcoders@yahoogroups.com > > Subject: [flexcoders] Re: Web browser crashing on remote method > call > > > > yes. we're going to plan to stub it in as a constants until 2.0 is > > released. However, I'm still having display problems. From the > > gateway debug, I can see that my MainPOJO and all of it's nested > > objects have data, yet it displays nothing in it's cell when I try > > to access it directly or via the labelFunc. I can see in the > > debugger that the item has the data. Really weird why it will not > > display. I removed the registered AS classes to let Flex handle > the > > serialization and instantion on it's own, but still no data. > > > > Both of these DG calls render an empty cell. > > > > <mx:DataGridColumn columnName="siblingObject.myValue" > > headerText="myV" /> > > > > ------------------------------------------------------ > > > > <mx:DataGridColumn headerText="C#" labelFunction="myLabelFunc" /> > > > > which calls this method...... > > > > function myLabelFunc(item) : String > > { > > return item.getSiblingObject().getMyValue(); > > } > > > > > > --- In flexcoders@yahoogroups.com, "Peter Farland" <[EMAIL PROTECTED]> > > wrote: > > > > > > Unfortunately we did not remove statics from the Java Bean > > serialization > > > rules of RemoteObject in Flex 1.5. It's a known issue and will > be > > fixed > > > going forward. As a work around for now would it be possible to > > move the > > > static final to another context? Such as a class called > > StaticConstants? > > > > > > > > > > > > -----Original Message----- > > > From: flexcoders@yahoogroups.com > > [mailto:[EMAIL PROTECTED] On > > > Behalf Of Kevin Ewok > > > Sent: Monday, June 13, 2005 11:49 AM > > > To: flexcoders@yahoogroups.com > > > Subject: [flexcoders] Re: Web browser crashing on remote method > > call > > > > > > Pete- > > > Thanks for your help...I've finally identified the problem (but > > > still not the solution). Although I did have a reference of my > > > siblingPojo back to my MainPojo, commenting out that code did > not > > > solve the problem. However, my SiblingObject has an attribute > that > > > is part of a class with static variables. So to give you an > > example, > > > my SiblingPojo has an attribute like this: > > > > > > private Status status = null; > > > > > > When I construct my data objects in the back-end, I set this > > > variable using it's own static data: > > > siblingPojo.setStatus(Status.CONFIRMED); > > > > > > Here's the Java code of the class that the serialization is > > hanging > > > up on. This is a pretty standard j2ee design pattern. You'll see > > > that I only have a private constructor. This is what ensures > that > > > the variable data will be constant throughout the app. If I were > > to > > > add a public constructor, the class would not compile (since my > > > variable 'type' could technically never get instantiated)...I'm > > > guessing the serialzation is hanging b/c there is no public > empty > > > constructor? > > > > > > have you ever come across a situation like this before? > > > > > > Thanks again for your help. > > > > > > public class Status{ > > > > > > private final String type; > > > > > > private Status(String type) { > > > this.type = type; > > > } > > > > > > public String toString() { > > > return type.toString(); > > > } > > > > > > public static final Status UNASSIGNED = new Status("UNA"); > > > public static final Status ASSIGNED = new Status("ASG"); > > > public static final Status ACKNOWLEDGED = new Status("ACK"); > > > } > > > > > > > > > > > > --- In flexcoders@yahoogroups.com, "Peter Farland" > <[EMAIL PROTECTED]> > > > wrote: > > > > It sounds like you might be in an infinite loop somewhere on > the > > > > client... a common way to get into such a loop is when > > processing > > > object > > > > graphs with circular references. > > > > > > > > From your MXML code listing below (i.e. it shows direct > binding > > of > > > the > > > > RO result as a data provider) I don't see that you're doing any > > > > recursive processing of the result so I'd propose that you've > > > discovered > > > > a bug with DataGrid when bound to object graphs that have > > circular > > > > references. > > > > > > > > How, you might ask, would you have a circular reference in an > > > object > > > > graph from a RemoteObject result? Without seeing any of the > code > > > for the > > > > object graph I can only guess that somewhere in your sibling > > > instances > > > > you have a pointer to a parent main object (or perhaps some > > > circular > > > > dependency between sibs, whatever). > > > > > > > > When serializing objects over AMF the client and server will > > > attempt to > > > > restore references between complex objects, for example, Just > > say > > > we > > > > have two objects, A and B where B has a reference back to its > > > parent A: > > > > > > > > A -> B -> A > > > > > > > > RemoteObject will serialize the "A" property of B as a > reference > > > to the > > > > instance A, rather than reserialize A again. This allows the > > > client and > > > > server to support circularly referenced object graphs and > avoids > > > > infinite recursion on serialization/deserialization. > > > > > > > > To prove that this is indeed happening you can turn on Debug > > level > > > > logging for the RemoteObject gateway in the > > > > /WEB-INF/flex/gateway.config.xml file, restart the flex > server, > > > and then > > > > watch the server console for AMF traffic, you should be able > to > > > see the > > > > "by-reference" serializaiton entries in the log. > > > > > > > > Note that RemoteObject is doing the right thing here - it > might > > > just be > > > > that DataGrid can't handle the circularity of the object graph. > > > > > > > > Let me know what you find out. > > > > > > > > Pete > > > > > > > > > > > > > > > > > > > > > Yahoo! Groups Links > > > > > > > > > > > > Yahoo! Groups Links > > > > > > Yahoo! Groups Links Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/