Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4492258

Merging PDs (Property Descriptors) in Java Beans throws Exception

XMLWordPrintable

    • beta3
    • x86, sparc
    • solaris_8, windows_nt
    • Verified

      The following Exception occurs while executing test for Merlin new methods which are added for retrieving a particular Listener instances added to a Component.

      Exception in thread "main" java.lang.Error: PropertyDescriptor: internal error w
      hile merging PDs
              at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:346)
              at java.beans.Introspector.processPropertyDescriptors(Introspector.java:
      587)
              at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:514)
              at java.beans.Introspector.getBeanInfo(Introspector.java:342)
              at java.beans.Introspector.getBeanInfo(Introspector.java:179)
              at java.beans.Introspector.getBeanInfo(Introspector.java:122)
              at ClassFinder.capableOfListeners(ClassFinder.java:206)
              at ClassFinder.filter(ClassFinder.java:129)
              at ClassFinder.<init>(ClassFinder.java:80)
              at GetFooListener.<init>(GetFooListener.java:155)
              at GetFooListener.main(GetFooListener.java:137)
      gnumake: *** [run] Error 1

      This happens on all platforms (win32 , solSparc, Linux , Solx86) on build 75 and was not occuring in any of the previous builds.

      Steps to reproduce this bug :

      Test files:
      ==========

      1)Test files can be bringover or copied from AWT-SQE master work
      space at:

       /net/sqesvr/export/awt/awt_ws/getFooListeners

      2)Type gnumake clean at test root directory

      4)Then type gnumake
        This will compile all the java files in src directory and creates required classes in Classes directory .

      But from build 75 onwards this compiles java files but throws Exception before begining the Test as follows:

      Cleaned file(s) in GetFooListener.
      Building file(s) in GetFooListener.
      Compiling file [src/Logger.java]
      Compiling file [src/Reporter.java]
      Compiling file [src/InvalidCountException.java]
      Compiling file [src/DummyListeners.java]
      Compiling file [src/CannotInstantiateException.java]
      Compiling file [src/GetFooListenerProgressBar.java]
      Compiling file [src/ClassReflect.java]
      Compiling file [src/ClassFinder.java]
      Compiling file [src/Instantiate.java]
      Compiling file [src/GetFooListener.java]
      DONE Building file(s) in GetFooListener.
      Running GetFooListener
      Exception in thread "main" java.lang.Error: PropertyDescriptor: internal error w
      hile merging PDs
              at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:346)
              at java.beans.Introspector.processPropertyDescriptors(Introspector.java:
      587)
              at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:514)
              at java.beans.Introspector.getBeanInfo(Introspector.java:342)
              at java.beans.Introspector.getBeanInfo(Introspector.java:179)
              at java.beans.Introspector.getBeanInfo(Introspector.java:122)
              at ClassFinder.capableOfListeners(ClassFinder.java:206)
              at ClassFinder.filter(ClassFinder.java:129)
              at ClassFinder.<init>(ClassFinder.java:80)
              at GetFooListener.<init>(GetFooListener.java:155)
              at GetFooListener.main(GetFooListener.java:137)
      gnumake: *** [run] Error 1

      Test Suite Description :
      This test suite tests "getListeners Completion" feature for AWT and Swing.
      In Merlin new methods are added for retrieving a particular Listener instances added to a Component. Thus for each listener type, there is corresponding getFooListeners() method.The methods that are to be tested is added to a properties file. The methods are read from this and then tested by adding and removing the methods & calling the corresponding getFooListeners() method.

                  FooListener[] listeners = <comp>.getFooListeners();
       Thus for each method Foo will be replaced by the corresponding method and will be tested

            mdavidsosunw Mark Davidson (Inactive)
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: