Package org.springframework.binding.value

Examples of org.springframework.binding.value.ValueModel


        super(formModel, formPropertyPath, requiredSourceClass);
        this.formattedTextField = formattedTextField;
    }

    protected JComponent doBindControl() {
        final ValueModel valueModel = getValueModel();
        formattedTextField.setValue(valueModel.getValue());
        // TODO: implement ValueCommitPolicies
        new FormattedTextFieldAdapter(formattedTextField, valueModel, ValueCommitPolicy.AS_YOU_TYPE);
        return formattedTextField;
    }
View Full Code Here


        frame.getContentPane().add(field);
        frame.pack();
        frame.setVisible(true);

        // trigger a show of the overlay, so we can get a reference to it
        ValueModel valueModel = formModel.getValueModel("property");
        valueModel.setValue("dirty");

        // sleep for a while so the gui can update itself
        Thread.sleep(500);
        formModel.revert();

        // find a reference to the overlay component
        JLayeredPane layeredPane = frame.getRootPane().getLayeredPane();
        assertEquals("sanity check: assume the layered pane only has one component, and that it is a panel and the overlay",
                     2, layeredPane.getComponentCount());
        // the overlay is the first component
        JComponent overlay = (JComponent)layeredPane.getComponent(0);
        // the overlay is now put into another panel for clipping.
        if(!"dirtyOverlay".equals(overlay.getName())) {
            assertEquals("Unable to locate overlay", "dirtyOverlay", overlay.getComponent(0).getName());
            overlay = (JComponent) overlay.getComponent(0);
        }

        assertFalse("Overlay must be hidden", overlay.isVisible());

        // mimic user editing
        valueModel.setValue("ttt");
        assertTrue("Value is dirty, so overlay must be visible", overlay.isVisible());

        // user reverts the edit
        valueModel.setValue("original value");
        assertFalse("value is not dirty, so overlay must be hidden", overlay.isVisible());

        // dispose of the frame
        frame.dispose();
    }
View Full Code Here

    TestPropertyChangeListener pcl = new TestPropertyChangeListener(FormModel.DIRTY_PROPERTY);
    AbstractFormModel pfm = getFormModel(new TestBean());
    AbstractFormModel fm = getFormModel(new TestBean());
    pfm.addPropertyChangeListener(FormModel.DIRTY_PROPERTY, pcl);
    pfm.addChild(fm);
    ValueModel childSimpleProperty = fm.getValueModel("simpleProperty");
    ValueModel parentSimpleProperty = pfm.getValueModel("simpleProperty");
    // test child property dirty -> parent dirty
    childSimpleProperty.setValue("1");
    assertTrue(pfm.isDirty());
    assertEquals(1, pcl.eventCount());

    fm.revert();
    assertTrue(!pfm.isDirty());
    assertEquals(2, pcl.eventCount());
    // child dirty -> revert parent triggers revert on child
    childSimpleProperty.setValue("1");
    assertTrue(pfm.isDirty());
    assertEquals(3, pcl.eventCount());

    pfm.revert();
    assertTrue(!pfm.isDirty());
    assertTrue(!fm.isDirty());
    assertEquals(4, pcl.eventCount());
    // child & parent property dirty -> parent dirty, revert child, then
    // parent
    childSimpleProperty.setValue("1");
    assertTrue(pfm.isDirty());
    assertEquals(5, pcl.eventCount());

    parentSimpleProperty.setValue("2");
    assertTrue(pfm.isDirty());
    assertEquals(5, pcl.eventCount());

    fm.revert();
    assertTrue(pfm.isDirty());
View Full Code Here

    TestBean p = new TestBean();
    BeanPropertyAccessStrategy pas = new BeanPropertyAccessStrategy(p);
    TestCommitListener cl = new TestCommitListener();
    AbstractFormModel fm = getFormModel(pas, false);
    fm.addCommitListener(cl);
    ValueModel vm = fm.getValueModel("simpleProperty");

    vm.setValue("1");
    fm.commit();
    assertEquals(1, cl.preEditCalls);
    assertEquals(1, cl.postEditCalls);
  }
View Full Code Here

    TestBean p = new TestBean();
    BeanPropertyAccessStrategy pas = new BeanPropertyAccessStrategy(p);
    TestCommitListener cl = new TestCommitListener();
    AbstractFormModel fm = getFormModel(pas, true);
    fm.addCommitListener(cl);
    ValueModel vm = fm.getValueModel("simpleProperty");

    vm.setValue("1");
    fm.commit();
    assertEquals("1", p.getSimpleProperty());
  }
View Full Code Here

    TestBean p = new TestBean();
    BeanPropertyAccessStrategy pas = new BeanPropertyAccessStrategy(p);
    TestPropertyChangeListener pcl = new TestPropertyChangeListener(FormModel.DIRTY_PROPERTY);
    AbstractFormModel fm = getFormModel(pas, buffering);
    fm.addPropertyChangeListener(FormModel.DIRTY_PROPERTY, pcl);
    ValueModel vm = fm.getValueModel("simpleProperty");

    vm.setValue("1");
    fm.revert();

    assertEquals(null, vm.getValue());
    assertEquals(null, p.getSimpleProperty());

    TestBean tb2 = new TestBean();
    tb2.setSimpleProperty("tb2");
    fm.setFormObject(tb2);

    vm.setValue("1");
    fm.revert();

    assertEquals("tb2", vm.getValue());
    assertEquals("tb2", tb2.getSimpleProperty());
  }
View Full Code Here

  public void testConvertingValueModels() {
    AbstractFormModel fm = getFormModel(new TestBean());
    TestConversionService cs = new TestConversionService();
    fm.setConversionService(cs);

    ValueModel vm = fm.getValueModel("simpleProperty", String.class);
    assertEquals(fm.getValueModel("simpleProperty"), vm);
    assertEquals(0, cs.calls);

    try {
      fm.getValueModel("simpleProperty", Integer.class);
      fail("should have throw IllegalArgumentException");
    }
    catch (IllegalArgumentException e) {
      // expected
    }
    assertEquals(1, cs.calls);
    assertEquals(String.class, cs.lastSource);
    assertEquals(Integer.class, cs.lastTarget);

    cs.executer = new ConversionExecutor(String.class, Integer.class, new CopiedPublicNoOpConverter(String.class,
        Integer.class));
    ValueModel cvm = fm.getValueModel("simpleProperty", Integer.class);
    assertEquals(3, cs.calls);
    assertEquals(Integer.class, cs.lastSource);
    assertEquals(String.class, cs.lastTarget);

    assertEquals(fm.getValueModel("simpleProperty", Integer.class), cvm);
View Full Code Here

   * </p>
   */
  public void testBufferedFormModelSetFormObjectNotDirty() {
    String someString = "someString";
    FormModel model = getFormModel(new TestBean());
    ValueModel valueModel = model.getValueModel("simpleProperty");

    assertEquals("Initial check, formmodel not dirty.", false, model.isDirty());

    valueModel.setValue(someString);
    assertEquals("Value changed, model should be dirty.", true, model.isDirty());

    TestBean newFormObject = new TestBean();
    newFormObject.setSimpleProperty(someString);
    model.setFormObject(newFormObject);
View Full Code Here

   * </p>
   */
  public void testFormModelSetFormObjectNotDirty() {
    String someString = "someString";
    FormModel model = getFormModel(new ValueHolder(new TestBean()), false);
    ValueModel valueModel = model.getValueModel("simpleProperty");

    assertEquals("Initial check, formmodel not dirty.", false, model.isDirty());

    valueModel.setValue(someString);
    assertEquals("Value changed, model should be dirty.", true, model.isDirty());

    TestBean newFormObject = new TestBean();
    newFormObject.setSimpleProperty(someString);
    model.setFormObject(newFormObject);
View Full Code Here

   * </ul>
   */
  public void testParentChildDirtyState() {
    TestBean formObject = new TestBean();
    AbstractFormModel parent = getFormModel(formObject);
    ValueModel parentValueModel = parent.getValueModel("simpleProperty");
    AbstractFormModel child = getFormModel(formObject);
    ValueModel childValueModel = child.getValueModel("booleanProperty");
    BooleanStatelistener listener = new BooleanStatelistener(FormModel.DIRTY_PROPERTY);
    listener.state = parent.isDirty();
    parent.addPropertyChangeListener(FormModel.DIRTY_PROPERTY, listener);

    parent.addChild(child);
    // check if child->dirty then parent->dirty
    assertFalse(listener.state);
    childValueModel.setValue(Boolean.TRUE);
    assertTrue(listener.state);
    parentValueModel.setValue("x");
    assertTrue(listener.state);
    parentValueModel.setValue(null); // original value
    assertTrue(listener.state);
    childValueModel.setValue(Boolean.FALSE); //original value
    assertFalse(listener.state);
   
    // check if child->clean then (parent->clean or parent->dirty)
    parentValueModel.setValue("x");
    assertTrue(listener.state);
    parentValueModel.setValue(null); // original value
    assertFalse(listener.state);
       
    parent.removeChild(child);

    // check initial state when adding a child formModel, state should be synchronized at setup and reverted when removing the relation

    // check if dirty child sets parent dirty
    childValueModel.setValue(Boolean.TRUE);
    assertFalse(listener.state);
    parent.addChild(child);
    assertTrue(listener.state);
    parent.removeChild(child);
    assertFalse(listener.state);
View Full Code Here

TOP

Related Classes of org.springframework.binding.value.ValueModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.