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, "thunderstumpgesatwork"
<[EMAIL PROTECTED]> 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:548)
>         at
>
flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:302)
>         at
>
flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(AbstractRTMPServer.java:682)
>         at
>
flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPConnection.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</hibernate-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:548)
>         at
>
flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:302)
>         at
>
flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(AbstractRTMPServer.java:682)
>         at
>
flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPConnection.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