@InitBinder
public void initBinder(WebDataBinder dataBinder) {
dataBinder.registerCustomEditor(ContactTopicType.class, new PropertyEditorSupport() {
@Override
public void setAsText(String value) throws IllegalArgumentException {
setValue(ContactTopicType.valueOf(value));
}
@Override
public String getAsText() {
if(getValue() == null)
return "";
return ((ContactTopicType) getValue()).name();
}
});
}
java类java.beans.PropertyEditorSupport的实例源码
ContactController.java 文件源码
项目:podcastpedia-web
阅读 35
收藏 0
点赞 0
评论 0
OneComponentNode.java 文件源码
项目:opensim-gui
阅读 20
收藏 0
点赞 0
评论 0
private void createSocketProperty(AbstractSocket socket, Sheet.Set sheetSet) {
try {
String connecteeType = socket.getConnecteeTypeName();
String connectionName = socket.getName();
PropertySupport.Reflection nextNodeProp =
new PropertySupport.Reflection(new ConnectionEditor(socket, this),
String.class,
"getConnectedToName",
"setConnectedToName");
nextNodeProp.setValue("canEditAsText", Boolean.TRUE);
nextNodeProp.setValue("suppressCustomEditor", Boolean.TRUE);
nextNodeProp.setName(connecteeType + ":" + connectionName);
PropertyEditorSupport editor = EditorRegistry.getEditor(connecteeType);
if (editor != null)
nextNodeProp.setPropertyEditorClass(editor.getClass());
sheetSet.put(nextNodeProp);
} catch (NoSuchMethodException ex) {
Exceptions.printStackTrace(ex);
}
}
PortletRequestDataBinderTests.java 文件源码
项目:class-guard
阅读 23
收藏 0
点赞 0
评论 0
public void testNestedBindWithPropertyEditor() {
TestBean bean = new TestBean();
PortletRequestDataBinder binder = new PortletRequestDataBinder(bean);
binder.registerCustomEditor(ITestBean.class, new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue(new TestBean(text));
}
});
MockPortletRequest request = new MockPortletRequest();
request.addParameter("spouse", "test");
request.addParameter("spouse.age", "32");
binder.bind(request);
assertNotNull(bean.getSpouse());
assertEquals("test", bean.getSpouse().getName());
assertEquals(32, bean.getSpouse().getAge());
}
DataBinderTests.java 文件源码
项目:class-guard
阅读 36
收藏 0
点赞 0
评论 0
public void testBindingWithNestedObjectCreation() throws Exception {
TestBean tb = new TestBean();
DataBinder binder = new DataBinder(tb, "person");
binder.registerCustomEditor(ITestBean.class, new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue(new TestBean());
}
});
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.add("spouse", "someValue");
pvs.add("spouse.name", "test");
binder.bind(pvs);
assertNotNull(tb.getSpouse());
assertEquals("test", tb.getSpouse().getName());
}
DataBinderTests.java 文件源码
项目:class-guard
阅读 33
收藏 0
点赞 0
评论 0
public void testCustomEditorForPrimitiveProperty() {
TestBean tb = new TestBean();
DataBinder binder = new DataBinder(tb, "tb");
binder.registerCustomEditor(int.class, "age", new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue(new Integer(99));
}
@Override
public String getAsText() {
return "argh";
}
});
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.add("age", "");
binder.bind(pvs);
assertEquals("argh", binder.getBindingResult().getFieldValue("age"));
assertEquals(99, tb.getAge());
}
DataBinderTests.java 文件源码
项目:class-guard
阅读 26
收藏 0
点赞 0
评论 0
public void testCustomEditorWithOldValueAccess() {
TestBean tb = new TestBean();
DataBinder binder = new DataBinder(tb, "tb");
binder.registerCustomEditor(String.class, null, new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
if (getValue() == null || !text.equalsIgnoreCase(getValue().toString())) {
setValue(text);
}
}
});
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.add("name", "value");
binder.bind(pvs);
assertEquals("value", tb.getName());
pvs = new MutablePropertyValues();
pvs.add("name", "vaLue");
binder.bind(pvs);
assertEquals("value", tb.getName());
}
DataBinderTests.java 文件源码
项目:class-guard
阅读 24
收藏 0
点赞 0
评论 0
public void testEditorForNestedIndexedField() {
IndexedTestBean tb = new IndexedTestBean();
tb.getArray()[0].setNestedIndexedBean(new IndexedTestBean());
tb.getArray()[1].setNestedIndexedBean(new IndexedTestBean());
DataBinder binder = new DataBinder(tb, "tb");
binder.registerCustomEditor(String.class, "array.nestedIndexedBean.list.name", new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue("list" + text);
}
@Override
public String getAsText() {
return ((String) getValue()).substring(4);
}
});
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.add("array[0].nestedIndexedBean.list[0].name", "test1");
pvs.add("array[1].nestedIndexedBean.list[1].name", "test2");
binder.bind(pvs);
assertEquals("listtest1", ((TestBean)tb.getArray()[0].getNestedIndexedBean().getList().get(0)).getName());
assertEquals("listtest2", ((TestBean)tb.getArray()[1].getNestedIndexedBean().getList().get(1)).getName());
assertEquals("test1", binder.getBindingResult().getFieldValue("array[0].nestedIndexedBean.list[0].name"));
assertEquals("test2", binder.getBindingResult().getFieldValue("array[1].nestedIndexedBean.list[1].name"));
}
DataBinderTests.java 文件源码
项目:class-guard
阅读 39
收藏 0
点赞 0
评论 0
public void testSpecificEditorForNestedIndexedField() {
IndexedTestBean tb = new IndexedTestBean();
tb.getArray()[0].setNestedIndexedBean(new IndexedTestBean());
tb.getArray()[1].setNestedIndexedBean(new IndexedTestBean());
DataBinder binder = new DataBinder(tb, "tb");
binder.registerCustomEditor(String.class, "array[0].nestedIndexedBean.list.name", new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue("list" + text);
}
@Override
public String getAsText() {
return ((String) getValue()).substring(4);
}
});
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.add("array[0].nestedIndexedBean.list[0].name", "test1");
pvs.add("array[1].nestedIndexedBean.list[1].name", "test2");
binder.bind(pvs);
assertEquals("listtest1", ((TestBean)tb.getArray()[0].getNestedIndexedBean().getList().get(0)).getName());
assertEquals("test2", ((TestBean)tb.getArray()[1].getNestedIndexedBean().getList().get(1)).getName());
assertEquals("test1", binder.getBindingResult().getFieldValue("array[0].nestedIndexedBean.list[0].name"));
assertEquals("test2", binder.getBindingResult().getFieldValue("array[1].nestedIndexedBean.list[1].name"));
}
DataBinderTests.java 文件源码
项目:class-guard
阅读 27
收藏 0
点赞 0
评论 0
public void testInnerSpecificEditorForNestedIndexedField() {
IndexedTestBean tb = new IndexedTestBean();
tb.getArray()[0].setNestedIndexedBean(new IndexedTestBean());
tb.getArray()[1].setNestedIndexedBean(new IndexedTestBean());
DataBinder binder = new DataBinder(tb, "tb");
binder.registerCustomEditor(String.class, "array.nestedIndexedBean.list[0].name", new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue("list" + text);
}
@Override
public String getAsText() {
return ((String) getValue()).substring(4);
}
});
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.add("array[0].nestedIndexedBean.list[0].name", "test1");
pvs.add("array[1].nestedIndexedBean.list[1].name", "test2");
binder.bind(pvs);
assertEquals("listtest1", ((TestBean)tb.getArray()[0].getNestedIndexedBean().getList().get(0)).getName());
assertEquals("test2", ((TestBean)tb.getArray()[1].getNestedIndexedBean().getList().get(1)).getName());
assertEquals("test1", binder.getBindingResult().getFieldValue("array[0].nestedIndexedBean.list[0].name"));
assertEquals("test2", binder.getBindingResult().getFieldValue("array[1].nestedIndexedBean.list[1].name"));
}
DataBinderTests.java 文件源码
项目:class-guard
阅读 28
收藏 0
点赞 0
评论 0
public void testBindToStringArrayWithArrayEditor() {
TestBean tb = new TestBean();
DataBinder binder = new DataBinder(tb, "tb");
binder.registerCustomEditor(String[].class, "stringArray", new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue(StringUtils.delimitedListToStringArray(text, "-"));
}
});
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.add("stringArray", "a1-b2");
binder.bind(pvs);
assertTrue(!binder.getBindingResult().hasErrors());
assertEquals(2, tb.getStringArray().length);
assertEquals("a1", tb.getStringArray()[0]);
assertEquals("b2", tb.getStringArray()[1]);
}