Author: adietish
Date: 2012-09-27 10:28:58 -0400 (Thu, 27 Sep 2012)
New Revision: 44092
Modified:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/DataBindingUtils.java
Log:
added DataBindingUtils#observeAndPrintValidationState to ease tracking of validation
related bugs
Modified:
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/DataBindingUtils.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/DataBindingUtils.java 2012-09-27
12:29:29 UTC (rev 44091)
+++
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/databinding/DataBindingUtils.java 2012-09-27
14:28:58 UTC (rev 44092)
@@ -18,6 +18,8 @@
import org.eclipse.core.databinding.beans.BeanProperties;
import org.eclipse.core.databinding.observable.IObservableCollection;
import org.eclipse.core.databinding.observable.list.WritableList;
+import org.eclipse.core.databinding.observable.value.IValueChangeListener;
+import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.databinding.fieldassist.ControlDecorationSupport;
import org.eclipse.jface.databinding.swt.WidgetProperties;
@@ -131,4 +133,26 @@
return binding;
}
+ /**
+ * Observe and print validation state changes. Utility method to ease bug
+ * tracking.
+ *
+ * @param label the label to use when printing validation state changes
+ * @param dbc the databinding context to observe for validation changes
+ */
+ public static void observeAndPrintValidationState(final String label, DataBindingContext
dbc) {
+ AggregateValidationStatus status = new AggregateValidationStatus(dbc,
AggregateValidationStatus.MAX_SEVERITY);
+ status.addValueChangeListener(new IValueChangeListener() {
+
+ @Override
+ public void handleValueChange(ValueChangeEvent event) {
+ System.err.println("------------------------");
+ System.err.println(label);
+ System.err.println("------------------------");
+ System.err.println(event.diff.getNewValue());
+ System.err.println("------------------------");
+ }
+ });
+ }
+
}
Show replies by date