Commons Digester
  1. Commons Digester
  2. DIGESTER-133

Class fields are not set if class is inherited from HashMap if commons-beanutils-1.8.0 is used

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.6, 1.7, 1.8, 2.0
    • Fix Version/s: 3.0
    • Labels:
      None
    • Environment:

      OS: Kubuntu 8.0.4, Java version is 1.5.0_15
      Windows XP, Java version 1.5.0_11-b03

      Description

      Class fields are not set if class is inherited from HashMap, value is put in HashMap instead.
      I tried this simple test with Digester 1.6, 1.7, 1.8 and 2.0. It works with commons-beanutils-1.7.0, but does not work with commons-beanutils-1.8.0. JUnit 4.4 was used for testing.

      ================ Class to be instantiated from XML ==========================
      import java.util.HashMap;

      public class MyClass extends HashMap<String, String> {
      private boolean flag = false;

      public boolean isFlag()

      { return flag; }

      public void setFlag(boolean flag)

      { this.flag = flag; }

      }

      ================= Test ===================
      import static org.junit.Assert.assertTrue;

      import java.io.ByteArrayInputStream;
      import java.io.IOException;

      import org.apache.commons.digester.Digester;
      import org.junit.Test;
      import org.xml.sax.SAXException;

      public class TestDigester {

      @Test
      public void testDigester() throws IOException, SAXException

      { final String xml = "<myclass flag='true'/>"; final Digester digester = new Digester(); digester.addObjectCreate("myclass", MyClass.class); digester.addSetProperties("myclass"); final MyClass res = (MyClass) digester.parse(new ByteArrayInputStream(xml.getBytes())); assertTrue(res.isFlag()); }

      }

        Issue Links

          Activity

            People

            • Assignee:
              Simone Tripodi
              Reporter:
              Alexander Kovalenko
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development