final IActionDelegate delegate = getDelegate();
final IAction action = getAction();
// Check to see if the view delegate should be initialized.
if ((viewId != null) && (page != null) && (viewDelegate != null)) {
final IViewPart viewPart = page.findView(viewId);
if (viewPart == null) {
return false;
}
}
// Initialize the delegate.
final ISafeRunnable runnable = new ISafeRunnable() {
public final void handleException(final Throwable exception) {
// Do nothing.
}
public final void run() {
// Handle IActionDelegate2
if (delegate instanceof IActionDelegate2) {
final IActionDelegate2 delegate2 = (IActionDelegate2) delegate;
delegate2.init(action);
}
// Handle IObjectActionDelegates
if ((objectDelegate != null) && (activePart != null)) {
objectDelegate.setActivePart(action, activePart);
} else if (editorDelegate != null) {
editorDelegate.setActiveEditor(action, activeEditor);
} else if ((viewId != null) && (page != null)
&& (viewDelegate != null)) {
final IViewPart viewPart = page.findView(viewId);
viewDelegate.init(viewPart);
} else if (windowDelegate != null) {
windowDelegate.init(window);
}
}