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

ImmutableDescriptor.union() erroneously throws IllegalArgumentException in some case, starting b39

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 6
    • 6
    • core-svc
    • b43
    • generic
    • generic
    • Verified

      The test does an ImmutableDescriptor.union() of 2 descriptors with the same key, one lower case the other upper case. When both descriptors are instances of either ImmutableDescriptor or modelmbean.DescriptorSupport, an IllegalArgumentException is thrown. When you use an instance of each, you get the expected ImmutableDescriptor as the result of the union.
      Up to b38, the union was fine for all 3 cases.

      Test output is:

      (TEST) array contains two ImmutableDescriptor with the same key, one lower case the other upper case.
      (TEST) [{a=b}, {A=b}]
      (ERROR) Got Exception java.lang.IllegalArgumentException: Duplicate name: a
      java.lang.IllegalArgumentException: Duplicate name: a
      at javax.management.ImmutableDescriptor.<init>(ImmutableDescriptor.java:95)
      at javax.management.ImmutableDescriptor.union(ImmutableDescriptor.java:188)
      at javasoft.sqe.tests.api.javax.management.foundation.ImmutableDescriptor.MethodsTest.doUnionTest_1(MethodsTest.java:176)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:399)
      at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
      at javasoft.sqe.tests.api.javax.management.foundation.ImmutableDescriptor.MethodsTest.main(MethodsTest.java:48)

      (TEST) array contains two modelmbean.DescriptorSupport with the same key, one lower case the other upper case.
      (TEST) [a=b, A=b]
      (ERROR) Got Exception java.lang.IllegalArgumentException: Duplicate name: a
      java.lang.IllegalArgumentException: Duplicate name: a
      at javax.management.ImmutableDescriptor.<init>(ImmutableDescriptor.java:95)
      at javax.management.ImmutableDescriptor.union(ImmutableDescriptor.java:188)
      at javasoft.sqe.tests.api.javax.management.foundation.ImmutableDescriptor.MethodsTest.doUnionTest_1(MethodsTest.java:176)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:399)
      at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
      at javasoft.sqe.tests.api.javax.management.foundation.ImmutableDescriptor.MethodsTest.main(MethodsTest.java:48)

      (TEST) array contains an ImmutableDescriptor and a modelmbean.DescriptorSupport with the same key, one lower case the other upper case.
      (TEST) [{a=b}, A=b]
      (OK) Descriptor is as expected

      Here "as expected" means ImmutableDescriptor(new String[]{"a=b"}).

      ###@###.### 2005-06-08 08:30:20 GMT

            emcmanus Eamonn McManus
            yjoan Yves Joan (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: