Community
Participate
Working Groups
Currently runtime fails if one of the providers throws an exception from provides() method. As a result, an "incorrect" provider could block all the operations just by throwing NullPointer exception from this method. I suggest catching all types of exceptions while querying the providers. As a result, exception thrown by "incorrect" provider will be logged and then runtime will continue querying the rest of providers, so operation which could be performed by some other "correct" provider will not be broken.
Created attachment 29340 [details] org.eclipse.gmf.runtime.common.core.ExecutionStrategy patch
Created attachment 29341 [details] org.eclipse.gmf.runtime.common.core.Service
Created attachment 29342 [details] org.eclipse.gmf.tests.runtime.common.ui
Created attachment 29343 [details] new plugin org.eclipse.gmf.tests.runtime.common.ui.services.provider patch
Created attachment 29344 [details] org.eclipse.gmf.tests.runtime.common.ui.services.provider plugin same as "29343: new plugin org.eclipse.gmf.tests.runtime.common.ui.services.provider patch" except added as binary
Commited the patches. I also added an AllTests to the new provider plug-in with a comment to make it clear that this is not a JUnit tests plug-in: public class AllTests { /** * The org.eclipse.gmf.tests.runtime.common.ui.services.provider tests * plug-in is not a JUnit test plug-in. This plug-in is used by * org.eclipse.gmf.tests.runtime.common.ui for ProviderPolicyExceptionsTest * and ProviderPolicyTest. */ }
[GMF Restructure] Bug 319140 : product GMF and component Runtime Common was the original product and component for this bug