Community
Participate
Working Groups
= Problem description = When AbstractProjectWorkspacePreference is used on a project that has on project-specific settings the workspace level preference value is returned (see AbstractProjectWorkspacePreference#get(IProject) for details). The conversion of the preference's string value to the corresponding object value is delegated to AbstractProjectWorkspacePreference#toObject(IProject, String) so as to enable clients to customize it. However, when this is called for converting the workspace level preference value, the IProject argument is always null and clients cannot rely on it for calculating the preference's object value in a project dependent way. = Resolution proposal = * Introduce a new method getFromWorkspaceForProject(IProject) on IProjectWorkspacePreference * Implement it in the same way as AbstractWorkspacePreference#get() but delegate to AbstractProjectWorkspacePreference#toObject(IProject, String) instead of AbstractProjectWorkspacePreference#toObject(String) * Delegate to that method when retrieving the workspace level preference value in AbstractProjectWorkspacePreference#get(IProject) * Additionally, delegate to #getFromProject(IProject) when retrieving the project level preference value in AbstractProjectWorkspacePreference#get(IProject)
Fixed as proposed in description.
Mass-closing Resolved tickets