diff --git a/fx/src/main/java/de/neitzel/fx/view/DirectBindingApplier.java b/fx/src/main/java/de/neitzel/fx/view/DirectBindingApplier.java index 26033cb..6234b35 100644 --- a/fx/src/main/java/de/neitzel/fx/view/DirectBindingApplier.java +++ b/fx/src/main/java/de/neitzel/fx/view/DirectBindingApplier.java @@ -252,7 +252,6 @@ final class DirectBindingApplier { link.applying = true; try { control.setValue(shown); - link.committedControl = shown; } finally { link.applying = false; } @@ -269,18 +268,11 @@ final class DirectBindingApplier { link.applying = true; try { attribute.setValue(converted); - link.committedControl = control.getValue(); } finally { link.applying = false; } owner.clearBindingFailure(source); } catch (RuntimeException failure) { - link.applying = true; - try { - control.setValue(link.committedControl); - } finally { - link.applying = false; - } owner.reportBindingFailure(source, failureText(failure)); } } @@ -294,12 +286,10 @@ final class DirectBindingApplier { } /** - * Guards one converted binding against hearing its own writes, and remembers the last - * control value that was successfully shown. + * Guards one converted binding against hearing its own writes. */ private static final class Link { private boolean applying; - private Object committedControl; } private static Property controlProperty(Object control, String propertyName) { diff --git a/fx/src/test/java/de/neitzel/fx/view/CarryChildMessageTest.java b/fx/src/test/java/de/neitzel/fx/view/CarryChildMessageTest.java index 542a229..94e9eef 100644 --- a/fx/src/test/java/de/neitzel/fx/view/CarryChildMessageTest.java +++ b/fx/src/test/java/de/neitzel/fx/view/CarryChildMessageTest.java @@ -103,7 +103,7 @@ class CarryChildMessageTest { streetField.setText("nope"); assertEquals("Main", person.getAddress().getStreet()); - assertEquals("Main", streetField.getText()); + assertEquals("nope", streetField.getText()); ViewModel personModel = loaded.getViewModel(); ViewModel addressModel = (ViewModel) personModel.property("address").getValue(); assertEquals(1, addressModel.getMessages().size()); diff --git a/fx/src/test/java/de/neitzel/fx/view/ConvertAndRecordFailureTest.java b/fx/src/test/java/de/neitzel/fx/view/ConvertAndRecordFailureTest.java index 5481f6a..fe37fee 100644 --- a/fx/src/test/java/de/neitzel/fx/view/ConvertAndRecordFailureTest.java +++ b/fx/src/test/java/de/neitzel/fx/view/ConvertAndRecordFailureTest.java @@ -135,7 +135,7 @@ class ConvertAndRecordFailureTest { TextField ageField = (TextField) loaded.getRoot().lookup("#ageField"); ageField.setText("nope"); assertEquals(Integer.valueOf(42), person.getAge()); - assertEquals("years:42", ageField.getText()); + assertEquals("nope", ageField.getText()); ViewModel viewModel = loaded.getViewModel(); assertEquals(1, viewModel.getMessages().size()); Message message = viewModel.getMessages().get(0); @@ -164,7 +164,7 @@ class ConvertAndRecordFailureTest { assertSame(first, viewModel.getMessages().get(0)); assertEquals("not a whole number: still-bad", first.getText()); assertEquals(Integer.valueOf(42), person.getAge()); - assertEquals("years:42", ageField.getText()); + assertEquals("still-bad", ageField.getText()); }); }