Adopting 3.6 mechanisms and APIs

This section describes changes that are required if you are trying to change your 3.5 plug-in to adopt the 3.6 mechanisms and APIs.

  1. Use IResource#setDerived(boolean, IProgressMonitor)
  2. A new cause of IFile#create and IFolder#create failure
  3. Keywords support in Workbench Wizards
  4. Use IWorkbench#getModalDialogShellProvider()

1. Use IResource#setDerived(boolean, IProgressMonitor)

As of 3.6, the IResource#setDerived(boolean) is deprecated. IResource#setDerived(boolean, IProgressMonitor) should be used instead and this change will be reported in a subsequent resource change event.

2. A new cause of IFile#create and IFolder#create failure

As of 3.6, there is a new cause when IFile#create and IFolder#create fail, i.e. when a non-virtual resource is created in a virtual folder. Callers of this API that do preliminary verification before #create is called, should adapt to this change and support the new case. In particular, wizards that create new resources and show errors in the title area when #create may fail, should handle the case by showing a new error rather than failing and writing to the log.

3. Keywords support in Workbench Wizards

As of 3.6, the New/Import/Export wizards support the org.eclipse.ui.keywords extension. It is recommended to add keywords and associate with these wizards, so that the users can easily filter

4. Use IWorkbench#getModalDialogShellProvider()

To get the best possible parent shell for modal dialogs, use IWorkbench#getModalDialogShellProvider().