REGRESSION:Java 7's JavaBeans persistence ignoring the "transient" flag on properties

XMLWordPrintable

    • b12
    • Verified

      Java 7's JavaBeans persistence ignoring the "transient" flag on properties

      but XMLEncoder is not ignoring "transient".

      Rather the JavaBeans Introspector is somehow dropping "transient" from 1 of 2 properties when composing the subclass BeanInfo. In the parent class' BeanInfo "transient" is present on both properties. In the subclass, however, it is only present on 1 of the 2 properties. Java 6 doesn't have this issue.

      Have a BeanInfo class, InfoBeanInfo, for a base class, Info, that
      marks the CustomDelegateFactory property (any capitalization thereof)
      as transient and PropertyDescriptor.setValue( "transient", Boolean.TRUE ).

      This is obeyed just fine in testing with the Java 6 Update 34 when
      outputting instances of subclasses of Info. This seems to be ignored
      by the test JDK provided -- resulting in undesirable output.

      Checked Java 7 Update 6 and it also seems to ignore this BeanInfo.
      Note that although the classes reside in various packages, they're all in one directory

      The test execution is encapsulated in Test.main().

      Java 6 Update 34 produces:

          INFO (BASE CLASS) TRANSIENT PROPERTIES:
          ---------------------------------------
          customDelegateFactory
          customDelegateFactoryClass

          SUMMARY (SUB-CLASS) TRANSIENT PROPERTIES:
          -----------------------------------------
          customDelegateFactory
          customDelegateFactoryClass

      Java 7 Update 6 produces:

          INFO (BASE CLASS) TRANSIENT PROPERTIES:
          ---------------------------------------
          customDelegateFactory
          customDelegateFactoryClass

          SUMMARY (SUB-CLASS) TRANSIENT PROPERTIES:
          -----------------------------------------
          customDelegateFactoryClass

      Note that 'customDelegateFactory' is transient in the Info class' BeanInfo in both cases, but is not transient in the Summary class' BeanInfo in Java 7.

            Assignee:
            Sergey Malenkov (Inactive)
            Reporter:
            Ting-Yun Ingrid Yao (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: