@Override public String[] getSuppressedFields() { return this.bindingResult.getSuppressedFields(); }
@Override public String[] getSuppressedFields() { return this.bindingResult.getSuppressedFields(); }
@Override public String[] getSuppressedFields() { return this.bindingResult.getSuppressedFields(); }
@Override public String[] getSuppressedFields() { return this.bindingResult.getSuppressedFields(); }
@Test public void testBindingWithAllowedFieldsUsingAsterisks() throws BindException { TestBean rod = new TestBean(); DataBinder binder = new DataBinder(rod, "person"); binder.setAllowedFields("nam*", "*ouchy"); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("name", "Rod"); pvs.add("touchy", "Rod"); pvs.add("age", "32x"); binder.bind(pvs); binder.close(); assertTrue("changed name correctly", "Rod".equals(rod.getName())); assertTrue("changed touchy correctly", "Rod".equals(rod.getTouchy())); assertTrue("did not change age", rod.getAge() == 0); String[] disallowedFields = binder.getBindingResult().getSuppressedFields(); assertEquals(1, disallowedFields.length); assertEquals("age", disallowedFields[0]); Map<?,?> m = binder.getBindingResult().getModel(); assertTrue("There is one element in map", m.size() == 2); TestBean tb = (TestBean) m.get("person"); assertTrue("Same object", tb.equals(rod)); }
@Test public void testBindingWithAllowedAndDisallowedMapFields() throws BindException { TestBean rod = new TestBean(); DataBinder binder = new DataBinder(rod); binder.setAllowedFields("someMap[key1]", "someMap[key2]"); binder.setDisallowedFields("someMap['key3']", "someMap[key4]"); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("someMap[key1]", "value1"); pvs.add("someMap['key2']", "value2"); pvs.add("someMap[key3]", "value3"); pvs.add("someMap['key4']", "value4"); binder.bind(pvs); binder.close(); assertEquals("value1", rod.getSomeMap().get("key1")); assertEquals("value2", rod.getSomeMap().get("key2")); assertNull(rod.getSomeMap().get("key3")); assertNull(rod.getSomeMap().get("key4")); String[] disallowedFields = binder.getBindingResult().getSuppressedFields(); assertEquals(2, disallowedFields.length); assertTrue(ObjectUtils.containsElement(disallowedFields, "someMap[key3]")); assertTrue(ObjectUtils.containsElement(disallowedFields, "someMap[key4]")); }
@Test public void testBindingWithDisallowedFields() throws BindException { TestBean rod = new TestBean(); DataBinder binder = new DataBinder(rod); binder.setDisallowedFields("age"); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("name", "Rod"); pvs.add("age", "32x"); binder.bind(pvs); binder.close(); assertTrue("changed name correctly", rod.getName().equals("Rod")); assertTrue("did not change age", rod.getAge() == 0); String[] disallowedFields = binder.getBindingResult().getSuppressedFields(); assertEquals(1, disallowedFields.length); assertEquals("age", disallowedFields[0]); }
@Test public void testBindingWithAllowedAndDisallowedFields() throws BindException { TestBean rod = new TestBean(); DataBinder binder = new DataBinder(rod); binder.setAllowedFields("name", "myparam"); binder.setDisallowedFields("age"); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("name", "Rod"); pvs.add("age", "32x"); binder.bind(pvs); binder.close(); assertTrue("changed name correctly", rod.getName().equals("Rod")); assertTrue("did not change age", rod.getAge() == 0); String[] disallowedFields = binder.getBindingResult().getSuppressedFields(); assertEquals(1, disallowedFields.length); assertEquals("age", disallowedFields[0]); }
@Test public void testBindingWithOverlappingAllowedAndDisallowedFields() throws BindException { TestBean rod = new TestBean(); DataBinder binder = new DataBinder(rod); binder.setAllowedFields("name", "age"); binder.setDisallowedFields("age"); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("name", "Rod"); pvs.add("age", "32x"); binder.bind(pvs); binder.close(); assertTrue("changed name correctly", rod.getName().equals("Rod")); assertTrue("did not change age", rod.getAge() == 0); String[] disallowedFields = binder.getBindingResult().getSuppressedFields(); assertEquals(1, disallowedFields.length); assertEquals("age", disallowedFields[0]); }
@Test public void testTrackDisallowedFields() { TestBean testBean = new TestBean(); DataBinder binder = new DataBinder(testBean, "testBean"); binder.setAllowedFields("name", "age"); String name = "Rob Harrop"; String beanName = "foobar"; MutablePropertyValues mpvs = new MutablePropertyValues(); mpvs.add("name", name); mpvs.add("beanName", beanName); binder.bind(mpvs); assertEquals(name, testBean.getName()); String[] disallowedFields = binder.getBindingResult().getSuppressedFields(); assertEquals(1, disallowedFields.length); assertEquals("beanName", disallowedFields[0]); }
@Override public String[] getSuppressedFields() { return this.bindingResult.getSuppressedFields(); }
@Override public String[] getSuppressedFields() { return this.bindingResult.getSuppressedFields(); }
@Override public String[] getSuppressedFields() { return this.bindingResult.getSuppressedFields(); }
protected void verifyBinding(BindingResult br) { String[] suppressedFields = br.getSuppressedFields(); if (suppressedFields.length > 0) { throw new RuntimeException("Attempting to bind suppressed fields: " + StringUtils.arrayToCommaDelimitedString(suppressedFields)); } } }