Bug 130854 [CellEditors] JFace TableViewer ignoring ICellEditor validator state
Using a validator on a TextCellEditor and entering invalid text into a cell results in ICellModifier.modify() being called with a null value, rather than an error being reported and the value being discarded. TableEditorImpl.saveEditorValue() *does actually check for editor validity*, but in the case of invalid values does nothing but no-op with comment "///Do what ???" and then calls cellEditor.getValue() which, for TextCellEditor's anyway, always returns null if its validator has invalidated the current value.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnViewerEditor.java
return mouseTime <= activationTime
				&& activationEvent.eventType != ColumnViewerEditorActivationEvent.KEY_PRESSED
				&& activationEvent.eventType != ColumnViewerEditorActivationEvent.PROGRAMMATIC
				&& activationEvent.eventType != ColumnViewerEditorActivationEvent.TRAVERSAL;
	}
	/**
	 * Applies the current value and deactivates the currently active cell
	 * editor.
	 */
	void applyEditorValue() {
		
		if (!inEditorDeactivation) {
			try {
				inEditorDeactivation = true;
				CellEditor c = this.cellEditor;
				if (c != null && this.cell != null) {
					ColumnViewerEditorDeactivationEvent tmp = new ColumnViewerEditorDeactivationEvent(
							cell);
					tmp.eventType = ColumnViewerEditorDeactivationEvent.EDITOR_SAVED;
					if (editorActivationListener != null
							&& !editorActivationListener.isEmpty()) {
						Object[] ls = editorActivationListener.getListeners();
						for (int i = 0; i < ls.length; i++) {
							((ColumnViewerEditorActivationListener) ls[i])
									.beforeEditorDeactivated(tmp);
						}
					}
					Item t = (Item) this.cell.getItem();
					
					if (t != null && !t.isDisposed()) {