Helo, here's my little story:

I have a TileList that's powered by an ArrayCollection with data 
obtained from a DataService (via it's "fill" method). For the DS I 
set autoCommit="false".

I enabled the DnD for my TileList (it has built-in DnD support) and 
I also set it to allow item move, not copy.

What I'm trying to do is to re-arrange the items on this managed 
collection. With the mouse, I'm dragging an item into a different 
location on the grid. I wrote an event listener for the 
DragEvent.DRAG_COMPLETE event, where I call DataService.commit() for 
my managed collection.

What happens on the FDS side (it's actually LCDS 2.5.1): the 
destination I wrote is a Java implementation. It's "sync" method 
gets called, and the list of changes contain 2 items: "delete" 
and "create" for the item I previously DnD-ed on the grid. There is 
no indication regarding the new position in the grid for the "new" 
item.

I _do not_ want to delete and create anything. I just weant the FDS 
to do whatever is necessary to update it's managed collection, and 
return the "OK" back to the client. I don't want FDS to call 
the "fill" method again, as there is nothing new to refresh from the 
database (I do not want to persist this item reordeting action for 
now).

I managed to prevent the unnecessary "fill" call from happening, 
using the <fill-contains-method> configuration in XML, but the end 
result is the FDS does not accept the client's request, deletes the 
item I DnD-ed and therefore makes it dissapearing from my grid.

Here is the log info, from the moment I filled in my grid (with 3 
items) and up until my list has just 2 items, after I tried to move 
the first one via DnD (this first one is the one that got vanished).

I wonder why this behavior? What's missing from what I've done?

Many thanks,
Robert

[Flex] 10/01/2007 17:02:43.781 [DEBUG] [Message.Data.fill] Before 
invoke service: data-service
  incomingMessage: Flex Message (flex.data.messages.DataMessage) 
    operation = fill
    id = null
    clientId = 542BAA04-0291-ECDE-6BD6-5D60A50569DE
    correlationId = 
    destination = repositoryObjectAssembler
    messageId = C81583CC-4942-8A65-11A0-5D60C445D31A
    timestamp = 1191272563781
    timeToLive = 0
    body = 
    [
      0be4dc09800040e6,
      false
    ]
    hdr(DSEndpoint) = my-rtmp
    hdr(DSId) = 28F8F58F-3E1D-A44B-F8CC-5ECE708E198C

[Flex] 10/01/2007 17:02:43.812 [DEBUG] [Message.Timing] After invoke 
service: data-service; execution time = 31ms
[Flex] 10/01/2007 17:02:43.812 [DEBUG] [Service.Data.Transaction] 
Committed transaction
[Flex] 10/01/2007 17:02:43.812 [DEBUG] [Message.Data.fill] After 
invoke service: data-service
  reply: Flex Message (flex.data.messages.SequencedMessage) 
    sequenceId = 1
    sequenceSize = 3
    dynamicSizing = 0
    (no sequence proxies)
    clientId = null
    correlationId = null
    destination = repositoryObjectAssembler
    messageId = 28F93F78-240A-A32B-8DE7-A1AFAFD75EAC
    timestamp = 1191272563812
    timeToLive = 0
    body = 
    [
      [EMAIL PROTECTED],
      [EMAIL PROTECTED],
      [EMAIL PROTECTED]
    ]

[Flex] 10/01/2007 17:02:48.031 [DEBUG] [Message.Data.transacted] 
Before invoke service: data-service
  incomingMessage: Flex Message (flex.data.messages.DataMessage) 
    operation = transacted
    id = null
    clientId = 28F92C65-5419-8F1F-963E-FBE7861F4635
    correlationId = 
    destination = repositoryObjectAssembler
    messageId = 33033332-3DA7-DCA5-7575-5D60D4DFBE18
    timestamp = 1191272568031
    timeToLive = 0
    body = 
    [
      Flex Message (flex.data.messages.DataMessage) 
          operation = delete
          id = ASObject(20624684){objectId=09e4dc09800040f0}
          clientId = 542BAA04-0291-ECDE-6BD6-5D60A50569DE
          correlationId = 33033332-3DA7-DCA5-7575-5D60D4DFBE18
          destination = repositoryObjectAssembler
          messageId = 646E01CF-2893-C606-BF70-5D60D4CFFBC9
          timestamp = 0
          timeToLive = 0
          body = [EMAIL PROTECTED],
      Flex Message (flex.data.messages.DataMessage) 
          operation = create
          id = ASObject(21796820){objectId=09e4dc09800040f0}
          clientId = 542BAA04-0291-ECDE-6BD6-5D60A50569DE
          correlationId = 33033332-3DA7-DCA5-7575-5D60D4DFBE18
          destination = repositoryObjectAssembler
          messageId = F553034C-BA68-52BF-E798-5D60D4DF8EB4
          timestamp = 0
          timeToLive = 0
          body = [EMAIL PROTECTED],
      Flex Message (flex.data.messages.UpdateCollectionMessage) 
          operation = update_collection
          id = null
          clientId = 542BAA04-0291-ECDE-6BD6-5D60A50569DE
          correlationId = 33033332-3DA7-DCA5-7575-5D60D4DFBE18
          destination = repositoryObjectAssembler
          messageId = 4CBE61EB-454F-19EE-F219-5D60D4CF2248
          timestamp = 0
          timeToLive = 0
          body = 
          [
            [EMAIL PROTECTED](25432371){objectId=09e4dc09800040f0}],
            [EMAIL PROTECTED]
          ]
          collectionId = 
            [
              0be4dc09800040e6,
              false
            ]
          replace = false
          updateMode = client_update
    ]
    hdr(DSEndpoint) = my-rtmp
    hdr(DSId) = 28F8F58F-3E1D-A44B-F8CC-5ECE708E198C

[Flex] 10/01/2007 17:02:48.031 [DEBUG] [Service.Data.Transaction] 
Started transaction using jndi name: java:comp/UserTransaction
[Flex] 10/01/2007 17:02:48.031 [DEBUG] [Message.Timing] After invoke 
service: data-service; execution time = 0ms
[Flex] 10/01/2007 17:02:48.031 [DEBUG] [Service.Data.Transaction] 
Committed transaction
[Flex] 10/01/2007 17:02:48.031 [DEBUG] [Service.Data.General] 
fillContains for destination: repositoryObjectAssembler params: 
[null, true] returns: false
[Flex] 10/01/2007 17:02:48.031 [DEBUG] [Service.Data.General] 
fillContains for destination: repositoryObjectAssembler params: 
[0be4dc09800040e6, false] returns: false
[Flex] 10/01/2007 17:02:48.031 [DEBUG] [Message.Data.transacted] 
After invoke service: data-service
  reply: Flex Message (flex.messaging.messages.AcknowledgeMessage) 
    clientId = null
    correlationId = null
    destination = null
    messageId = 28F967B4-6F1F-D6E8-ED8E-F738C343EF76
    timestamp = 1191272568031
    timeToLive = 0
    body = 
    [
      Flex Message (flex.data.messages.DataMessage) 
          operation = delete
          id = ASObject(20624684){objectId=09e4dc09800040f0}
          clientId = 542BAA04-0291-ECDE-6BD6-5D60A50569DE
          correlationId = 33033332-3DA7-DCA5-7575-5D60D4DFBE18
          destination = repositoryObjectAssembler
          messageId = 646E01CF-2893-C606-BF70-5D60D4CFFBC9
          timestamp = 1191272568031
          timeToLive = 0
          body = [EMAIL PROTECTED]
          hdr(DSEndpoint) = my-rtmp
          hdr(DSId) = 28F8F58F-3E1D-A44B-F8CC-5ECE708E198C,
      Flex Message (flex.data.messages.DataMessage) 
          operation = create
          id = {objectId=09e4dc09800040f0}
          clientId = 542BAA04-0291-ECDE-6BD6-5D60A50569DE
          correlationId = 33033332-3DA7-DCA5-7575-5D60D4DFBE18
          destination = repositoryObjectAssembler
          messageId = F553034C-BA68-52BF-E798-5D60D4DF8EB4
          timestamp = 1191272568031
          timeToLive = 0
          body = [EMAIL PROTECTED]
          hdr(DSEndpoint) = my-rtmp
          hdr(DSId) = 28F8F58F-3E1D-A44B-F8CC-5ECE708E198C,
      Flex Message (flex.data.messages.UpdateCollectionMessage) 
          operation = update_collection
          id = null
          clientId = 542BAA04-0291-ECDE-6BD6-5D60A50569DE
          correlationId = 33033332-3DA7-DCA5-7575-5D60D4DFBE18
          destination = repositoryObjectAssembler
          messageId = 4CBE61EB-454F-19EE-F219-5D60D4CF2248
          timestamp = 1191272568031
          timeToLive = 0
          body = 
          [
            [EMAIL PROTECTED](25432371){objectId=09e4dc09800040f0}],
            [EMAIL PROTECTED]
          ]
          hdr(DSEndpoint) = my-rtmp
          hdr(DSId) = 28F8F58F-3E1D-A44B-F8CC-5ECE708E198C
          collectionId = 
            [
              0be4dc09800040e6,
              false
            ]
          replace = false
          updateMode = server_override,
      Flex Message (flex.data.messages.UpdateCollectionMessage) 
          operation = update_collection
          id = null
          clientId = 542BAA04-0291-ECDE-6BD6-5D60A50569DE
          correlationId = 33033332-3DA7-DCA5-7575-5D60D4DFBE18
          destination = repositoryObjectAssembler
          messageId = srv:2864127A-4E0D-55BA-619D-1240FB6FC314:3
          timestamp = 1191272568031
          timeToLive = 0
          body = 
          [
            [EMAIL PROTECTED]
          ]
          collectionId = 
            [
              0be4dc09800040e6,
              false
            ]
          replace = false
          updateMode = server_update
    ]



Reply via email to