Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-1171

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: 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
        vladimir Vladimir Ivanov added a comment -

        unit test

        Show
        vladimir Vladimir Ivanov added a comment - unit test
        Hide
        vmz Vasily Zakharov added a comment -

        Attached fix patch.

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

        Attached test patch.

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

        Updated fix patch.

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

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

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

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

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

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

        Show
        vmz Vasily Zakharov added a comment - Please use Harmony-1171-New.patch and Harmony-1171-Test-New.patch files, the others are obsolete.
        Hide
        vmz 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
        vmz 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
        zakha 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
        zakha 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
        vmz Vasily Zakharov added a comment -

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

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

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

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

        Thanks Alexei, the patch is fine.

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

        verified

        Show
        zakha Alexei Zakharov added a comment - verified

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development