Community
Participate
Working Groups
Whether or not deferred queries are supported, is profoundly a property of the subsystem and / or service implementation. The service in our commercial product always works asynchronously with callbacks: expanding a node produces a temporary "pending" object in the Model, just like the RSE Deferred Adapter's Pending node. But the query is not resolved via a Job, it is sent asynchronously to the remote side instead. When the result is there, a Refresh event is sent to the SystemView to indicate that the model has new data. We can use this mechanism with all elements in our model, because ISystemViewElementAdapter.supportsDeferredQueries() exists. But we can not currently use it for filters. We need the SystemViewFilterReferenceAdapter#supportsDeferredQueries() method to delegate to the SubSystemConfiguration for its result. I first thought that supportsDeferredQueries() would be a view-only setting (so it should go into the SubSystemConfigurationAdapter), but I now I think that it is really a property of the subsystemConfiguration itself.
Created attachment 62730 [details] Patch to allow changing deferred query support for filters Attached patch fixes the issue by allowing ISubSystemConfiguration to specify whether deferred queries are supported for filters.
Dave can you please review attached patch and apply it if you see fit.
applied + added implementations to configs
It looks like this patch from SubSystemConfiguration had been rejected: /** * Return true if deferred queries are supported. * By default, they are supported. Override for different behavior. * * @return <code>true</code> if deferred queries are supported. * @see org.eclipse.rse.core.subsystems.ISubSystemConfiguration#supportsDeferredQueries() */ public boolean supportsDeferredQueries() { return true; } This should really be in the base abstract SubSystemConfiguration, and not in the children (DaytimeSubSytemConfiguration etc.). Also, the default should be true for all since only the filters use this, normally, and it should be true for them. Should I go and fix this?
Reviewed, seen that Dave already added the missing impl in SubSystem base class, removed unnecessary implementations in child classes.
[target cleanup] 2.0 M6 was the original target milestone for this bug