Thanks for the explanation, I think I have a better understanding now.
So, I think what I got from that is that if I want to have control
over each object that I commit, I have to use a separate DataService
for each one?

Thanks for logging the enhancement request, as selecting which managed
object to commit would be the ideal way to handle this. 

You mentioned that I cannot release a single item from a managed
collection, but is it possible to revert a single item in a managed
collection?

Thanks,
Thunder

--- In flexcoders@yahoogroups.com, "Jeff Vroom" <[EMAIL PROTECTED]> wrote:
>
> First off, a bit about how FDMS works behind the scenes.  As you change
> a property of an object, a PropertyChangedEvent is fired which tells
> FDMS of the change.  A message is logged for the item indicating that
> the property is changed.  If you change a second property on the object,
> we merge that property change event into to the first message.  If
> autoCommit is false, when you call "commit", all pending changes are
> sent.  So if you are not changing an item, nothing is sent but if you
> have changed items A and B and the changes were logged for these items,
> there is no way to just commit the changes for item B.  You can
> individually revert changes made to items however but that will roll the
> state of the item back to its state before the change.  
> 
>  
> 
> Now it is possible to release an item so that FDMS is no longer managing
> its state.  At this point, FDMS will not be tracking changes to that
> item so you could call getItem on A and getItem on B, then releaseItem
> on A.  Now only changes to B will be tracked.   If you call fill and get
> a collection of objects, there is no way to release just a single item
> in the collection however.
> 
>  
> 
> Your use case is an interesting one and it would not be hard for us to
> add a method which just commits the changes to a specify item so I'll
> add an enhancement for that.
> 
>  
> 
> As for your final question, merge is used when you have set
> autoMerge=false and it will merge changes received by the server into
> the current managed set of items.  As changes are received by a client
> for some set of managed items, by default they are automatically
> "merged" into the current versions of the items, but when you turn
> autoMerge=false, they are queued up instead (the mergeRequired property
> is set in this case).  At that point, you call "merge" to apply those
> changes.
> 
>  
> 
> Jeff
> 
>  
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of thunderstumpgesatwork
> Sent: Tuesday, August 22, 2006 9:58 AM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] FDS Data Management quesion
> 
>  
> 
> 
> I have a question (or two) about saving/persisting/updating changes
> that have been made. I'm trying to maintain some granular level of
> control of which managed objects are saved and which are rolled back.
> 
> First scenario:
> 
> Assume we used dataservice.fill() to load a collection. Is it possible
> to save only one item in the collection? How would this be done? The
> only method I saw for updating (dataservice.commit()) says it updates
> all collections managed by this data service.
> 
> Second scenario:
> 
> Assume we decided to query each item individually using
> dataservice.getItem(), is it possible to save one item at a time? or
> to decide which item to save and which to roll back? Again, the
> commit() function seems to imply that all changes to all items are
> committed.
> 
> And lastly, what is the difference between merge() and commit()? 
> 
> thanks in advance.
> Thunder
>






--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
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/
 


Reply via email to