Bug 123972 [Undo] Support approval of undoable operation execution
In GMF we do some common validation on our commands before we proceed to execute, undo or redo them. This validation is external to the command's ability to execute, undo or redo itself. Registering an IOperationApprover with the operation history for this of validation would give us an elegant solution. However, the IOperationApprover only supports approval of undo and redo. We also require support for approval of operation execution. Would you consider adding a proceedExecuting() method to the IOperationApprover interface, or to an extension of the IOperationApprover interface?
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
private void notifyChanged(IUndoableOperation operation) {
		if (DEBUG_OPERATION_HISTORY_NOTIFICATION) {
			Tracing.printTrace("OPERATIONHISTORY", "OPERATION_CHANGED "  
					+ operation);
		}
		notifyListeners(new OperationHistoryEvent(
				OperationHistoryEvent.OPERATION_CHANGED, this, operation));
	}
	/*
	 * A history notification is about to be sent. Notify the operation before
	 * hand if it implements IHistoryNotificationAwareOperation.
	 * 
	 * This method is provided for legacy undo frameworks that rely on
	 * notification from their undo managers before any listeners are notified
	 * about changes in the operation.
	 */
	private void preNotifyOperation(IUndoableOperation operation,
			OperationHistoryEvent event) {
		if (operation instanceof IAdvancedUndoableOperation) {
			try {
				((IAdvancedUndoableOperation) operation).aboutToNotify(event);
			} catch (Exception e) {
				handleNotificationException(e);
			}
		}
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.core.commands.operations.IOperationHistory#redo(org.eclipse.core.commands.operations.IUndoContext,