Community
Participate
Working Groups
The AbstractJSFAppConfigManager, a managed object managed by the JSFAppConfigManagerFactory via the ResourceSingletonObjectManager framework, does not clean up resources when the associated project is deleted. This ends up leaking underlying TypeImpl and Translator objects in the faces config EMF model. Though there is no persistent data to clean up, AbstractJSFAppConfigManager should still override the IManagedObject.destroy() method and clean up resources and memory references.
Created attachment 180917 [details] patch to override destroy()
Looks like fixing this exposes an error in the process to stop the ContextParamSpecifiedJSFAppConfigLocater. It tries to get the model but when executing a runnable with the project scheduling rule, a check on the workspace tree lock fails and throws a ResourceException. Will also need to figure out how best to stop the locaters for a project delete.
Created attachment 181605 [details] patch to override destroy() and avoid getting disposed model new patch that also checks for conditions indicating that the provider model object is not available to avoid errors during dispose.
committed patch to HEAD.