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 ]