Community
Participate
Working Groups
RC2 1. On the CVS-Edit preference page enable 'Watch/Edit' and configure to 'Always prompt' 2. Check out a Java project and open the build path page 3. Make some classpath changes and press 'OK' 4. No 'Perform Edit' dialog is shown Probably a bug in CVS as they don't show the dialog even they promise to show one on performEdit. I filed it against jdt.core to make sure that performEdit is called before manipulating the .classpath file
I don't know about #performEdit. We do call #validateEdit on classpath file iff it is read-only.
Furthermore, we cannot pass a UI context to VCM as we are sitting in a core component. There isn't much we can do here. I suspect that when null and some UI is around, VCM should provide its own context or way to surface a dialog to user as it promised in its preferences. Moving to team for further investigation.
The spec for validateEdit says that if a null context is provider the implementer should perform the validateEdit in a headless manner. I've verified that changing the build patch *does* call validateEdit correctly but as Philippe noted it provides a null context. The watch/edit preference could be re-worded to say "when possible".
why not use the active shell if null is passed?
The spec says that we can't.
Even though JDT Core is invoking the validatEdit hook, it is not being invoked in a headless environment so it is a bug not to pass a UI context. Either JDT Core should provide API for their clients to pass a Shell through as an object (as is done by the validateEdit hook itself and by refactoring) or the client that is causing the change should perform the validateEdit up front before making the change. I understand that neither of these is ideal but this is how validate Edit is specified and we're stuck with it. Moving back to JDT Core.
This would need a new API. Post 3.2.
As of now 'LATER' and 'REMIND' resolutions are no longer supported. Please reopen this bug if it is still valid for you.