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

XMLWordPrintable

    • 7
    • b58
    • x86
    • windows_7

        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:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: