[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [ecf-dev] Intermittent adapter problems | 
Hi Thomas,
Thomas Hallgren wrote:
<stuff deleted>
Intermittently, and so far seemingly without any pattern, when get a 
null value at times when other code in this bundle call the 
createRetrieveFileTransfer() method.
So far I've been unable to find the reason. Have you seen anything 
like this before? 
No, not really.
Do you have any ideas what could be causing this?
One thought is that perhaps it's the platform IAdapterManager service 
not getting initialized for some reason.  (i.e. environment, start 
sequence, or ?)  Because the BaseContainer returned from 
createContainer() has this as it's impl of getAdapter:
   public Object getAdapter(Class serviceType) {
       if (serviceType == null)
           return null;
       if (serviceType.isInstance(this)) {
           return this;
       }
       IAdapterManager adapterManager = 
ECFPlugin.getDefault().getAdapterManager();
       return (adapterManager == null) ? null : 
adapterManager.loadAdapter(this, serviceType.getName());
   }
For the file transfer provider an adapter manager is registered with the 
platform via this markup:
  <extension
        point="org.eclipse.core.runtime.adapters">
     <factory
           adaptableType="org.eclipse.ecf.core.BaseContainer"
           
class="org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapterFactory">
        <adapter 
type="org.eclipse.ecf.filetransfer.IRetrieveFileTransferContainerAdapter"/>
     </factory>
  </extension>
If, for whatever reason the adapterManager is not initialized then the 
getAdapterManager would return null.  Is there possibly some race 
condition in the initialization of the platform adapter manager?
What version of Eclipse are you using?  I think I recall something about 
Eclipse 3.3 platform having a bug in adapter manager initialization, but 
I can't recall/find the bug at the moment.  (but of course if this is 
Eclipse 3.4 then this is not what's going on).
Scott
Thanks,
Thomas Hallgren
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev