Bug 174555 [DataBinding] Run validation on binding construction
When a binding is created the assumption is that the UI is synchronized with the model. This means that the UI should reflect the state of the model's validity as well. In order to ensure that the UI reflects the model's validity the consumer needs to force a copy to model on instantiation of every binding. We need to remove this requirement.
examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet004DataBindingContextErrorLabel.java
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
/**
 * Snippet that displays how to bind the validation error of the
 * {@link DataBindingContext} to a label.
 * 
 * @since 3.2
 */
public class Snippet004DataBindingContextErrorLabel {
	public static void main(String[] args) {
		final Display display = new Display();
		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
			public void run() {
				Shell shell = new Shell(display);
				shell.setLayout(new GridLayout(2, false));
				new Label(shell, SWT.NONE).setText("Enter '5' to be valid:");
				Text text = new Text(shell, SWT.BORDER);
				WritableValue value = WritableValue.withValueType(String.class);
				new Label(shell, SWT.NONE).setText("Error:");
				Label errorLabel = new Label(shell, SWT.BORDER);
				errorLabel.setForeground(display.getSystemColor(SWT.COLOR_RED));
				GridDataFactory.swtDefaults().hint(200, SWT.DEFAULT).applyTo(
						errorLabel);
				DataBindingContext dbc = new DataBindingContext();
				
				dbc.bindValue(SWTObservables.observeText(text, SWT.Modify),
						value, new DefaultBindSpec().addTargetValidator(
								BindingEvent.PIPELINE_AFTER_CONVERT,