LazyDynaBean doesn't accept null value assignments for certain properties
-------------------------------------------------------------------------

                 Key: BEANUTILS-342
                 URL: https://issues.apache.org/jira/browse/BEANUTILS-342
             Project: Commons BeanUtils
          Issue Type: Bug
    Affects Versions: 1.8.0
         Environment: Ubuntu Linux (Gutsy), Sun Java 1.6
            Reporter: Andras Soltesz


With certain object types, LazyDynaBean doesn't accept null assignments 
correctly. Even if I set the null value (which is accepted without an error), 
when I query the property, I get a non-null value.

It works correctly if I do the following:
- assign a null value to the property 
- assign a real object value (non-null)
- assign a null value again (this time it is accepted correctly)

A small test script which demonstrates the issue:
---------------------------
      LazyDynaBean bean = new LazyDynaBean();
      Object value;

      System.out.println("----------------------------");

      bean.set("prop3", new Agent());
      value = bean.get("prop3");
      System.out.println("Prop3 value (should be an Agent): " + value);

      bean.set("prop3", null);
      value = bean.get("prop3");
      System.out.println("Prop3 value (should be null): " + value);

      System.out.println("----------------------------");

      bean.set("prop4", null);
      value = bean.get("prop4");
      System.out.println("Prop4 value (should be null): " + value);

      bean.set("prop4", new Agent());
      value = bean.get("prop4");
      System.out.println("Prop4 value (should be an Agent): " + value);

      bean.set("prop4", null);
      value = bean.get("prop4");
      System.out.println("Prop4 value (should be null): " + value);
--------------------

I can't imagine that this is desired behaviour.

As a temporary workaround, I have created a sublclass of LazyDynaBean with 
set() overridden, so it always sets a null before it sets a real value.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to