Community
Participate
Working Groups
While working on bug 287579 it turned out that if we use -pluginCustomization <file> to pass default preferences, those preferences are not visible unless node that will store those preferences will be programatically created. This is a problem for users that do not create node in advance just to check some preference in that node. To be precise it is problematic when using the nodeExists method because it returns false if the node is defined/used in the file.
Created attachment 220276 [details] Test case
DefaultPreferences are now part of o.e.equinox.preferences bundle so moving to Equinox/Compendium.
Created attachment 220337 [details] Patch v.0.1
Patch is for the rt.equinox.bundles repo and test is for the eclipse.platform.runtime repo (that's where I found other tests related to preferences). Can someone review?
(In reply to comment #4) > Can someone review? I have reviewed it myself and I found that absolute and empty paths are not handled correctly. Updated patch and test case will follow.
Created attachment 221145 [details] Patch v.0.2
Created attachment 221146 [details] Test case v.0.2
John, can you review?
The fix and test look good to me. The fix looks a bit more complicated because it refactors some of the initialization code. However the crux of the fix is in DefaultPreferences#nodeExists which now lazily initializes the custom preferences before failing to find a node. Fix in master: http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/commit/?id=2b5d91c51e72acc9105fc908c8829598ba7c8329 And test: http://git.eclipse.org/c/platform/eclipse.platform.runtime.git/commit/?id=d41164e4b98acdb50d9559b4c433c722994e20f7