Hmm, do you need to add curly braces as I have below?
<mx:DataGridColumn columnName="{siblingObject.myValue}" headerText="myV"
/>
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Kevin Ewok
Sent: Monday, June 13, 2005 5:00 PM
To: [email protected]
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 [email protected], "Peter Farland" <[EMAIL PROTECTED]>
wrote:
>
> Can you post the constructor code for the AS representation of the
POJO
> classes?
>
>
>
>
> -----Original Message-----
> From: [email protected]
[mailto:[EMAIL PROTECTED] On
> Behalf Of Kevin Ewok
> Sent: Monday, June 13, 2005 4:14 PM
> To: [email protected]
> 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 [email protected], "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: [email protected]
> [mailto:[EMAIL PROTECTED] On
> > Behalf Of Kevin Ewok
> > Sent: Monday, June 13, 2005 11:49 AM
> > To: [email protected]
> > 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 [email protected], "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/