mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
do not save null in text and extra text
This commit is contained in:
@@ -32,6 +32,7 @@ public class TextBinding implements Binding {
|
||||
@Override
|
||||
public Object serialize(Object o, Object context, SerializationFilter filter) {
|
||||
final Object v = myAccessor.read(o);
|
||||
if (v == null) return context;
|
||||
final Object node = myBinding.serialize(v, context, filter);
|
||||
|
||||
return new Text(((Content)node).getValue());
|
||||
|
||||
@@ -1029,6 +1029,31 @@ public class XmlSerializerTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
public static class ConversionFromTextToAttributeBean {
|
||||
@Property(surroundWithTag = false)
|
||||
public ConditionBean myConditionBean = new ConditionBean();
|
||||
}
|
||||
@Tag("condition")
|
||||
public static class ConditionBean {
|
||||
@Attribute("expression")
|
||||
public String myNewCondition;
|
||||
@Text
|
||||
public String myOldCondition;
|
||||
}
|
||||
|
||||
public void testConversionFromTextToAttribute() {
|
||||
ConversionFromTextToAttributeBean bean = new ConversionFromTextToAttributeBean();
|
||||
bean.myConditionBean.myOldCondition = "2+2";
|
||||
doSerializerTest("<ConversionFromTextToAttributeBean>\n" +
|
||||
" <condition>2+2</condition>\n" +
|
||||
"</ConversionFromTextToAttributeBean>", bean);
|
||||
|
||||
bean = new ConversionFromTextToAttributeBean();
|
||||
bean.myConditionBean.myNewCondition = "2+2";
|
||||
doSerializerTest("<ConversionFromTextToAttributeBean>\n" +
|
||||
" <condition expression=\"2+2\" />\n" +
|
||||
"</ConversionFromTextToAttributeBean>", bean);
|
||||
}
|
||||
|
||||
public void testDeserializeInto() throws Exception {
|
||||
BeanWithPublicFields bean = new BeanWithPublicFields();
|
||||
|
||||
Reference in New Issue
Block a user