public static final Object VALIDATE_PROMPT - An
object that can be used by clients calling IWorkspace#validateEdit to indicate
that they would like the user to be prompted for validation, but they don't
have a UI context (shell) available. This is to be used by "core"
code that doesn't have access to a shell, but needs to perform validateEdit
to allow a pessimistic repository to check out files prior to modification
Add the following to the SPI for team
providers (org.eclipse.core.resources.team package):
New class: org.eclipse.core.resources.team.FileModificationValidationContext
- provides context information for use by the file modification validator.
Previously a Shell was used, but this wasn't rich enough to capture
all use cases (client does't want prompt, client wants prompt and has a
Shell to use as parent, or client wants a prompt but doesn't have access
to a shell).
New class: org.eclipse.core.resources.team.FileModificationValidator
- replaces IFileModificationValidator, and deprecates validateEdit(IFile[],
Object) in favour of the richer validateEdit(IFile[], FileModificationValidationContext).
RISKS
This introduces a deprecation warning for implementations of IFileModificationValidator.
Only team plugins implement this interface, and Team/CVS has indicated
they will move to the new API. The implementation is fully backwards
compatible for old team provider implementations and old callers of validateEdit.
RISKS OF NOT SUPPLYING THIS SUPPORT
Headless plug-ins will fail on validateEdit in the
presence of a pessimistic team provider because they are not able to provide
a Shell.
Associated bug:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=160905