Harmony
  1. Harmony
  2. HARMONY-1171

[classlib][jndi] no InvalidNameException for CompoundName.addAll()

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Classlib
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      The method CompoundName().addAll() works silently on Harmony and throws InvalidNameException on RI.

      ==================== test.java ============================
      import javax.naming.*;
      import java.util.Properties;

      public class test {
      public static void main(String args[]) throws Exception

      { new CompoundName("aaa", new Properties()).addAll(new CompoundName("bbb", new Properties())); }

      }
      =======================================================

      Output:
      C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
      java version "1.5.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
      BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))

      javax.naming.InvalidNameException: A flat name can only have a single component
      at javax.naming.NameImpl.addAll(NameImpl.java:621)
      at javax.naming.CompoundName.addAll(CompoundName.java:442)
      at test.main(test.java:6)

      C:\tmp\tmp17>C:\harmony\classlib1.5\deploy\jdk\jre\bin\java.exe -cp . -showversion test
      java version 1.5 (subset)

      (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.

      C:\tmp\tmp17>C:\harmony\drlvm1.5\build\win_ia32_msvc_debug\deploy\jre\bin\java -Dvm.assert_dialog=false -cp . -showversion test
      java version "1.5.0"
      pre-alpha : not complete or compatible
      svn = r431304, (Aug 14 2006), Windows/ia32/msvc 1310, debug build
      http://incubator.apache.org/harmony

      1. CompoundNameTest.patch
        0.9 kB
        Vladimir Ivanov
      2. Harmony-1171.patch
        1 kB
        Vasily Zakharov
      3. Harmony-1171.patch
        1 kB
        Vasily Zakharov
      4. Harmony-1171-New.patch
        1 kB
        Vasily Zakharov
      5. Harmony-1171-New.patch
        1 kB
        Vasily Zakharov
      6. Harmony-1171-Test.patch
        0.9 kB
        Vasily Zakharov
      7. Harmony-1171-Test-New.patch
        0.9 kB
        Vasily Zakharov
      8. Harmony-1171-Test-New.patch
        1 kB
        Vasily Zakharov

        Activity

        Hide
        Alexei Zakharov added a comment -

        verified

        Show
        Alexei Zakharov added a comment - verified
        Hide
        Vasily Zakharov added a comment -

        Thanks Alexei, the patch is fine.

        Show
        Vasily Zakharov added a comment - Thanks Alexei, the patch is fine.
        Hide
        Alexei Zakharov added a comment -

        Patches were committed at the revision r498561. Thanks, Vasily. Please verify.

        Show
        Alexei Zakharov added a comment - Patches were committed at the revision r498561. Thanks, Vasily. Please verify.
        Hide
        Vasily Zakharov added a comment -

        Agreed. I've attached the updated patches to cover this point. They've become even smaller.

        Show
        Vasily Zakharov added a comment - Agreed. I've attached the updated patches to cover this point. They've become even smaller.
        Hide
        Alexei Zakharov added a comment -

        Hi Vasiliy, thanks for patches. I'm still confused a bit with the situation when Sun throws NullPointerException if the null value is specified and we throw IllegalArgumentException in the same case. IIRC we have discussed the situation when RI throws nothing. In this case we may probably throw anything we want. But if RI throws NPE and it is the case then IMHO we should follow this behavior.

        Show
        Alexei Zakharov added a comment - Hi Vasiliy, thanks for patches. I'm still confused a bit with the situation when Sun throws NullPointerException if the null value is specified and we throw IllegalArgumentException in the same case. IIRC we have discussed the situation when RI throws nothing . In this case we may probably throw anything we want. But if RI throws NPE and it is the case then IMHO we should follow this behavior.
        Hide
        Vasily Zakharov added a comment -

        See the discussion at http://thread.gmane.org/gmane.comp.java.harmony.devel/21721 about possible resolution of this bug.

        Show
        Vasily Zakharov added a comment - See the discussion at http://thread.gmane.org/gmane.comp.java.harmony.devel/21721 about possible resolution of this bug.
        Hide
        Vasily Zakharov added a comment -

        Please use Harmony-1171-New.patch and Harmony-1171-Test-New.patch files, the others are obsolete.

        Show
        Vasily Zakharov added a comment - Please use Harmony-1171-New.patch and Harmony-1171-Test-New.patch files, the others are obsolete.
        Hide
        Vasily Zakharov added a comment -

        Updated the test patch: Harmony-1171-Test-New.patch

        Show
        Vasily Zakharov added a comment - Updated the test patch: Harmony-1171-Test-New.patch
        Hide
        Vasily Zakharov added a comment -

        Updated the fix patch: Harmony-1171-New.patch

        Show
        Vasily Zakharov added a comment - Updated the fix patch: Harmony-1171-New.patch
        Hide
        Vasily Zakharov added a comment -

        Updated fix patch.

        Show
        Vasily Zakharov added a comment - Updated fix patch.
        Hide
        Vasily Zakharov added a comment -

        Attached test patch.

        Show
        Vasily Zakharov added a comment - Attached test patch.
        Hide
        Vasily Zakharov added a comment -

        Attached fix patch.

        Show
        Vasily Zakharov added a comment - Attached fix patch.
        Hide
        Vladimir Ivanov added a comment -

        unit test

        Show
        Vladimir Ivanov added a comment - unit test

          People

          • Assignee:
            Alexei Zakharov
            Reporter:
            Vladimir Ivanov
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development