Jeff, thanks for the info. I had already implemented a "work-around"
where I stored the IDs from the header of the application's load, and
when I need the dashboards I load them by ID myself.

I can try turning on auto-sync as a workaround also.

Just curious... We've discovered several defects in FDS and Managed
objects/relationships... Is there any timeline for when a bug-fix
release might be available?

thanks,
Thunder

--- In flexcoders@yahoogroups.com, "Jeff Vroom" <[EMAIL PROTECTED]> wrote:
>
> This does look like a bug that will occur when you have
> autoSyncEnabled=false and you use a Set either with lazy loading or as a
> return value from a fill.  
> 
>  
> 
> It is an easy fix - we are just casting to a List in a couple of places
> instead of to a Collection.   For now, maybe you can workaround the
> problem by turning autoSyncEnabled=true?  
> 
>  
> 
> Jeff
> 
>  
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of thunderstumpgesatwork
> Sent: Tuesday, December 05, 2006 8:20 AM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Re: FDS - class cast exception - lazy loading
> relationship
> 
>  
> 
> I have tried to submit this as a defect, because as far as I can tell,
> it is. The "bug report" form is very lacking though! It said my
> description had to be less than 2000 characters, which isn't enough to
> provide the trace information, or the Hibernate/FDMS mappings, and
> then I trimmed and trimmed my bug report to 1931 characters and it
> STILL wouldn't let me submit it... (last time I checked, 1931 was less
> than 2000)... so I yanked out MORE useful information until I could
> get it to submit.
> 
> Does anyone at Adobe want to get the full scoop on this issue? Here it
> is!
> 
> Please let me know if this has been captured, and if it is a known
> defect.
> 
> thanks,
> Thunder
> 
> --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> , "thunderstumpgesatwork"
> <thunder.stumpges@> wrote:
> >
> > Guys,
> > 
> > I'm having more troubles with FDS... seems like there's some internal
> > exception lurking around every corner...
> > 
> > Here's a simple managed relationship between an applicationConfig and
> > a Set of dashboards. The relationship is lazy, and when a dashboard is
> > accessed I get the expected "ItemPendingError" but then immediately
> > afterwards I get this java class-cast-exception on the server.
> > 
> > I can load the dashboards separately, but when accessed across the
> > relationship I get this error. Below is the relationship from the
> > data-management-config, and my Hibernate relationship mapping, and the
> > exception and debug trace follow that. 
> > 
> > Thanks for any help you can provide. Is this a defect?
> > 
> > Thunder
> > 
> > exception: java.lang.ClassCastException:
> > org.hibernate.collection.PersistentSet
> > at
> >
> flex.data.SequenceManager.getPageFromSequence(SequenceManager.java:694)
> > at flex.data.DataService.serviceMessage(DataService.java:234)
> > at
> >
> flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:54
> 8)
> > at
> >
> flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoin
> t.java:302)
> > at
> >
> flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(Abstrac
> tRTMPServer.java:682)
> > at
> >
> flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPCo
> nnection.java:665)
> > at
> >
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker
> .runTask(ThreadPoolExecutor.java:643)
> > at
> >
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker
> .run(ThreadPoolExecutor.java:668)
> > at java.lang.Thread.run(Thread.java:595)
> > _______________________________
> > 
> > <set name="dashboards" inverse="true" lazy="true">
> > <key>
> > <column name="APPLICATIONID" length="22" not-null="true" />
> > </key>
> > <one-to-many class="Dashboard" />
> > </set>
> > _______________________________
> > 
> > <destination id="Applicationconfig" >
> > <adapter ref="java-dao" />
> > <properties>
> > <source>flex.data.assemblers.HibernateAssembler</source>
> > <scope>application</scope>
> > <metadata>
> > <identity property="id"/>
> > <one-to-many property="dashboards" destination="Dashboard"
> > lazy="true"/>
> > </metadata>
> > <network>
> > <paging enabled="true" pageSize="10" />
> > <throttle-inbound policy="ERROR" max-frequency="500"/>
> > <throttle-outbound policy="REPLACE" max-frequency="500"/>
> > </network>
> > <server>
> > 
> >
> <hibernate-entity>com.company.config.presentation.Applicationconfig</hib
> ernate-entity>
> > <!-- NOTE: conflict mode set to NONE to solve incorrect conflict
> > detection when saving dashboards. -->
> > <update-conflict-mode>NONE</update-conflict-mode>
> > <delete-conflict-mode>OBJECT</delete-conflict-mode>
> > <fill-configuration>
> > <use-query-cache>false</use-query-cache>
> > <allow-hql-queries>true</allow-hql-queries>
> > </fill-configuration>
> > </server>
> > </properties>
> > </destination>
> > 
> > _______________________________
> > 
> > 
> > 12/01 14:39:24 user [Flex] 14:39:24.507 [DEBUG] [Endpoint.RTMP]
> > Deserializing AMF/RTMP request
> > Version: 3
> > (Command method=null (0) trxId=3.0)
> > null
> > (Typed Object #0 'flex.messaging.messages.CommandMessage')
> > messageRefType = "flex.data.messages.DataMessage"
> > operation = 0
> > correlationId = ""
> > messageId = "29A272A1-A246-13E8-5532-402C036BE987"
> > destination = "Dashboard"
> > timestamp = 0
> > body = (Object #1)
> > clientId = "611A30D3-2D63-0B48-2E83-402C034C71AD"
> > timeToLive = 0
> > headers = (Object #2)
> > DSEndpoint = "my-rtmp"
> > 
> > 12/01 14:39:24 user [Flex] 14:39:24.522 [DEBUG]
> > [Message.Command.subscribe] Executed command: service=data-service
> > commandMessage: Flex Message (flex.messaging.messages.CommandMessage)
> > operation = subscribe
> > selector = null
> > messageRefType = flex.data.messages.DataMessage
> > clientId = 611A30D3-2D63-0B48-2E83-402C034C71AD
> > correlationId =
> > destination = Dashboard
> > messageId = 29A272A1-A246-13E8-5532-402C036BE987
> > timestamp = 1165012764522
> > timeToLive = 0
> > body = {}
> > hdr(DSEndpoint) = my-rtmp
> > replyMessage: Flex Message
> (flex.messaging.messages.AcknowledgeMessage)
> > clientId = 611A30D3-2D63-0B48-2E83-402C034C71AD
> > correlationId = 29A272A1-A246-13E8-5532-402C036BE987
> > destination = null
> > messageId = 3BAB7E19-CA0C-A3B3-7C9D-A1B6B29FFCE9
> > timestamp = 1165012764522
> > timeToLive = 0
> > body = null
> > 
> > 
> > 12/01 14:39:25 user [Flex] 14:39:25.777 [DEBUG] [Message.Data.get]
> > After invoke service: data-service
> > reply: Flex Message (flex.data.messages.PagedMessage)
> > sequenceId = -1
> > sequenceSize = 1
> > (no sequence proxies)
> > clientId = null
> > correlationId = null
> > destination = Applicationconfig
> > messageId = 3BAB89A1-730A-2D39-83CE-4FEE7E43D508
> > timestamp = 1165012765731
> > timeToLive = 0
> > body =
> > [
> > [Proxy([EMAIL PROTECTED])
> > proxyClass=class flex.messaging.io.BeanProxy descriptor=[ excludes:
> > [dashboards]]]
> > ]
> > hdr(referencedIds) =
> > [
> > {dashboards=
> > [
> > {id=1164467032523719875336},
> > {id=1164388051550092880785},
> > {id=1156440527883820192695},
> > {id=1164384322718557235986},
> > {id=1164467037039304665983},
> > {id=1164467025953663641911}
> > ]}
> > ]
> > 
> > 12/01 14:39:25 user [Flex] 14:39:25.839 [DEBUG] [Endpoint.RTMP]
> > Serializing AMF/RTMP response
> > Version: 3
> > (Command method=_result (0) trxId=4)
> > (Typed Object #0 'flex.data.messages.PagedMessage')
> > destination = "Applicationconfig"
> > sequenceId = -1
> > dataMessage = null
> > headers = (Object #1)
> > referencedIds = (Array #2)
> > [0] = (Object #3)
> > dashboards = (Array #4)
> > [0] = (Typed Object #5 'flex.data.ItemIdentity')
> > id = "1164467032523719875336"
> > [1] = (Typed Object #6 'flex.data.ItemIdentity')
> > id = "1164388051550092880785"
> > [2] = (Typed Object #7 'flex.data.ItemIdentity')
> > id = "1156440527883820192695"
> > [3] = (Typed Object #8 'flex.data.ItemIdentity')
> > id = "1164384322718557235986"
> > [4] = (Typed Object #9 'flex.data.ItemIdentity')
> > id = "1164467037039304665983"
> > [5] = (Typed Object #10 'flex.data.ItemIdentity')
> > id = "1164467025953663641911"
> > correlationId = "4A3FBA46-ED42-7507-489F-402C036BBDB9"
> > messageId = "3BAB89A1-730A-2D39-83CE-4FEE7E43D508"
> > pageCount = 1
> > timeToLive = 0.0
> > pageIndex = 0
> > timestamp = 1.165012765731E12
> > clientId = "EDF46342-59C0-1C0A-C822-402C033D44C2"
> > sequenceProxies = null
> > body = (Array #11)
> > [0] = (Typed Object #12
> > 'com.company.config.presentation.Applicationconfig')
> > userid = 0.0
> > savename = "SYS"
> > appCriteria = (Externalizable Object #13
> > 'flex.messaging.io.ArrayCollection')
> > (Array #14)
> > selecteddashboard = "1156440527883820192695"
> > businessname = "MAIN"
> > applicationname = "MAIN"
> > name = "MAIN"
> > id = "1163778853188464256078"
> > sequenceSize = 1
> > 
> > 12/01 14:39:43 user [Flex] 14:39:43.630 [DEBUG] [Endpoint.RTMP]
> > Deserializing AMF/RTMP request
> > Version: 3
> > (Command method=null (0) trxId=5.0)
> > null
> > (Typed Object #0 'flex.data.messages.DataMessage')
> > operation = 20
> > body = (Object #1)
> > prop = "dashboards"
> > parent = "Applicationconfig"
> > id = (Object #2)
> > id = "1163778853188464256078"
> > identity = null
> > correlationId = ""
> > messageId = "6C2B486D-F439-4857-E074-402C51FEE422"
> > destination = "Dashboard"
> > timestamp = 0
> > body = (Ref #1)
> > clientId = "611A30D3-2D63-0B48-2E83-402C034C71AD"
> > timeToLive = 0
> > headers = (Object #3)
> > DSEndpoint = "my-rtmp"
> > DSids = (Array #4)
> > [0] = (Object #5)
> > id = "1164467032523719875336"
> > [1] = (Object #6)
> > id = "1164388051550092880785"
> > [2] = (Object #7)
> > id = "1156440527883820192695"
> > [3] = (Object #8)
> > id = "1164384322718557235986"
> > [4] = (Object #9)
> > id = "1164467037039304665983"
> > [5] = (Object #10)
> > id = "1164467025953663641911"
> > 
> > 12/01 14:39:43 user [Flex] 14:39:43.630 [DEBUG]
> > [Message.Data.page_items] Before invoke service: data-service
> > incomingMessage: Flex Message (flex.data.messages.DataMessage)
> > operation = page_items
> > id = null
> > clientId = 611A30D3-2D63-0B48-2E83-402C034C71AD
> > correlationId =
> > destination = Dashboard
> > messageId = 6C2B486D-F439-4857-E074-402C51FEE422
> > timestamp = 1165012783630
> > timeToLive = 0
> > body = {prop=dashboards, id={id=1163778853188464256078},
> > parent=Applicationconfig}
> > hdr(DSEndpoint) = my-rtmp
> > hdr(DSids) =
> > [
> > {id=1164467032523719875336},
> > {id=1164388051550092880785},
> > {id=1156440527883820192695},
> > {id=1164384322718557235986},
> > {id=1164467037039304665983},
> > {id=1164467025953663641911}
> > ]
> > 
> > 12/01 14:39:43 user [Flex] 14:39:43.692 [DEBUG]
> > [DataService.Hibernate] Get object from hibernate with
> > id=1163778853188464256078 ->
> > [EMAIL PROTECTED]
> > Exception in RtmpReader thread: java.lang.ClassCastException:
> > org.hibernate.collection.PersistentSet
> > java.lang.ClassCastException: org.hibernate.collection.PersistentSet
> > at
> >
> flex.data.SequenceManager.getItemsFromCollectionId(SequenceManager.java:
> 739)12/01
> > 14:39:43 user [Flex] 14:39:43.769 [ERROR] [Message.General] Exception
> > when invoking service: data-service
> > with message: Flex Message (flex.data.messages.DataMessage)
> > operation = page_items
> > id = null
> > clientId = 611A30D3-2D63-0B48-2E83-402C034C71AD
> > correlationId =
> > destination = Dashboard
> > messageId = 6C2B486D-F439-4857-E074-402C51FEE422
> > timestamp = 1165012783630
> > timeToLive = 0
> > body = {prop=dashboards, id={id=1163778853188464256078},
> > parent=Applicationconfig}
> > hdr(DSEndpoint) = my-rtmp
> > hdr(DSids) =
> > [
> > {id=1164467032523719875336},
> > {id=1164388051550092880785},
> > {id=1156440527883820192695},
> > {id=1164384322718557235986},
> > {id=1164467037039304665983},
> > {id=1164467025953663641911}
> > ]
> > exception: java.lang.ClassCastException:
> > org.hibernate.collection.PersistentSet
> > 
> > 
> > at
> >
> flex.data.SequenceManager.getPageFromSequence(SequenceManager.java:694)
> > at flex.data.DataService.serviceMessage(DataService.java:234)
> > at
> >
> flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:54
> 8)
> > at
> >
> flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoin
> t.java:302)
> > at
> >
> flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(Abstrac
> tRTMPServer.java:682)
> > at
> >
> flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPCo
> nnection.java:665)
> > at
> >
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker
> .runTask(ThreadPoolExecutor.java:643)
> > at
> >
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker
> .run(ThreadPoolExecutor.java:668)
> > at java.lang.Thread.run(Thread.java:595)
> >
>


Reply via email to