Unfortunately the TreeControl currently has some problems dealing with
the "on demand paging" feature of FDS.  These are known issues we are
trying to get addressed.  Though in this case you probably don't have
paging turned on, when you refresh a fill which causes a new item to be
inserted into a collection we push an "update collection" message which
contains the position and identity of the object to add to the
collection.  When the update collection message is received by the
client, it inserts the id at that location and if the item is not
available it issues a page request to fetch it.  In the meantime we also
need to tell the array collection that the new item has been inserted
with a collection change event. 

 

 In this exception, the tree control is responding to that event by
trying to fetch the missing item.  The ItemPendingError indicates that
the item is just not available yet... the TreeControl should be catching
and ignoring this error but it is not.  If you extend the TreeControl,
override the collectionChangeHandler to catch and ignore
ItemPendingErrors it would likely workaround this problem.  We'll send
another replace event when the item arrives and the tree control would
hopefully update itself in response to that event.

 

Jeff

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Harris Reynolds
Sent: Wednesday, April 18, 2007 8:28 AM
To: [email protected]
Subject: [flexcoders] FDS Polling Exception

 

Has anyone ever seen this? My app is using the polling mechanism of 
FDS and is getting this after I call transaction.refreshFill via a 
remoting call.

~harris

Error: Item requested item is not available. A request for the item 
is now pending.
at 
mx.data::DataList/http://www.adobe.com/2006/flex/mx/internal::requestI
<http://www.adobe.com/2006/flex/mx/internal::requestI> 
temAt()
at mx.data::DataList/getItemAt()
at mx.collections::ListCollectionView/getItemAt()
at ::ListCollectionViewCursor/moveNext()
at 
mx.controls.treeClasses::HierarchicalCollectionView/::getVisibleLocati
on()
at 
mx.controls.treeClasses::HierarchicalCollectionView/collectionChangeHa
ndler()
at 
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEv
entFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.collections::ListCollectionView/dispatchEvent()
at mx.collections::ListCollectionView/::addItemsToView()
at mx.collections::ListCollectionView/::listChangeHandler()
at 
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEv
entFunction()
at flash.events::EventDispatcher/dispatchEvent()
at 
mx.data::DataList/http://www.adobe.com/2006/flex/mx/internal::applyUpd
<http://www.adobe.com/2006/flex/mx/internal::applyUpd> 
ateCollection()
at 
mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/interna
<http://www.adobe.com/2006/flex/mx/interna> 
l::processUpdateCollection()
at 
mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/interna
<http://www.adobe.com/2006/flex/mx/interna> 
l::mergeMessage()
at mx.data::ConcreteDataService/::messageHandler()
at 
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEv
entFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.messaging::Consumer/::messageHandler()
at 
mx.messaging::Consumer/http://www.adobe.com/2006/flex/mx/internal::dis
<http://www.adobe.com/2006/flex/mx/internal::dis> 
patchMessageList()
at ::PollCommandMessageResponder/PollingChannel.as$33:PollComm
andMessageResponder::resultHandler()
at mx.messaging::MessageResponder/result()

 

Reply via email to