Having tested the issue more thoroughly, I must agree with Sergey it's
not a bug in our code. It seems that the RI performs no analysis where
text doesn't require it as in the case with "text". It just constructs a
"light-weight" object, thus accepting any value to getRunLimit() and
similar methods.

If Bidi object is initialized with RTL-text only (e.g. "\u0634\u0627"),
there will be one directional run as with "text". But in the latter case
getRunLimit() throws ArrayIndexOutOfBoundsException if its parameter is
not between 0 and getRunCount().

Thanks to Sergey for pointing it out.


So we need to close the issue without applying any patches.

Regards,
--
Alexey A. Ivanov
Intel Middleware Product Division


>-----Original Message-----
>From: Alexey Petrenko [mailto:[EMAIL PROTECTED]
>Sent: Wednesday, August 02, 2006 12:34 PM
>To: harmony-dev@incubator.apache.org
>Subject: Re: [jira] Updated: (HARMONY-649)
[classlib][text]compatibility:
>unexpected ArrayIndexOutOfBoundsException for
java.text.Bidi.getRunLimit(-1)
>
>I agree with Sergey that RI behaviour is strange in this case and
>there is more logic in Harmony.
>
>But... We still need to be compatible with RI. So I vote for fixing
this
>bug.
>
>SY, Alexey
>
>2006/8/2, Ivanov, Alexey A <[EMAIL PROTECTED]>:
>> Hi all,
>>
>> Does it make sense to follow the RI in this situation?
>> I'm asking this because one of the comments to this issue says we
>> shouldn't.
>>
>> IMO we should.
>>
>> Any other thoughts?
>>
>> Regards,
>> --
>> Alexey A. Ivanov
>> Intel Middleware Product Division
>>
>>
>> >-----Original Message-----
>> >From: Alexey A. Ivanov (JIRA) [mailto:[EMAIL PROTECTED]
>> >Sent: Wednesday, August 02, 2006 12:06 PM
>> >To: Ivanov, Alexey A
>> >Subject: [jira] Updated: (HARMONY-649)
[classlib][text]compatibility:
>> >unexpected ArrayIndexOutOfBoundsException for
>> java.text.Bidi.getRunLimit(-1)
>> >
>> >     [ http://issues.apache.org/jira/browse/HARMONY-649?page=all ]
>> >
>> >Alexey A. Ivanov updated HARMONY-649:
>> >-------------------------------------
>> >
>> >    Attachment: Bidi.patch
>> >
>> >The original Bidi patch contains the same code in three functions,
and
>> so
>> >this code should be moved into a separate function to eliminate
>> duplication.
>> >This is what I've done.
>> >This patch should be applied instead of the original one.
>> >
>> >> [classlib][text]compatibility: unexpected
>> ArrayIndexOutOfBoundsException
>> >for java.text.Bidi.getRunLimit(-1)
>> >>
>>
------------------------------------------------------------------------
>> -
>> >----------------------------------
>> >>
>> >>                 Key: HARMONY-649
>> >>                 URL:
http://issues.apache.org/jira/browse/HARMONY-649
>> >>             Project: Harmony
>> >>          Issue Type: Bug
>> >>            Reporter: Vladimir Ivanov
>> >>         Attachments: Bidi.patch, Bidi.patch, BidiTest.patch
>> >>
>> >>
>> >> The Harmony method java.text.Bidi.getRunLimit(-1) throws
>> >ArrayIndexOutOfBoundsException while RI return valid value.
>> >> Note, the spec says nothing about exceptions in this case.
>> >> ============ test.java ===================
>> >> import java.text.*;
>> >> public class test {
>> >>     public static void main (String[] args) {
>> >>         Bidi bidi = new Bidi("text",
Bidi.DIRECTION_LEFT_TO_RIGHT);
>> >>         try {
>> >>             System.out.println("getRunLimit(-1) = " +
>> bidi.getRunLimit(-1)
>> >+ "\npassed!");
>> >>         } catch (Exception e) {
>> >>             e.printStackTrace();
>> >>             System.out.println("failed");
>> >>         }
>> >>     }
>> >> }
>> >> ======================================
>> >> C:\tmp\tmp17>C:\jrockit-j2sdk1.4.2_04\bin\java.exe -showversion
test
>> >> java version "1.4.2_04"
>> >> Java(TM) 2 Runtime Environment, Standard Edition (build
1.4.2_04-b05)
>> >> BEA WebLogic JRockit(TM) 1.4.2_04 JVM  (build
>> ari-31788-20040616-1132-
>> >win-ia32,
>> >> Native Threads, GC strategy: parallel)
>> >> getRunLimit(-1) = 4
>> >> passed!
>> >> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -
>> >showversion test
>> >> java version 1.5 (subset)
>> >> (c) Copyright 1991, 2006 The Apache Software Foundation or its
>> licensors,
>> >as app
>> >> licable.
>> >> java.lang.ArrayIndexOutOfBoundsException: Array index out of
range:
>> -1
>> >>         at java.text.Bidi.getRunLimit(Bidi.java:349)
>> >>         at test.main(test.java:7)
>> >> failed
>> >> C:\tmp\tmp17>
>> >
>> >--
>> >This message is automatically generated by JIRA.
>> >-
>> >If you think it was sent incorrectly contact one of the
administrators:
>> >http://issues.apache.org/jira/secure/Administrators.jspa
>> >-
>> >For more information on JIRA, see:
>> http://www.atlassian.com/software/jira
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail:
[EMAIL PROTECTED]
>>
>>
>
>
>--
>Alexey A. Petrenko
>Intel Middleware Products Division
>
>---------------------------------------------------------------------
>Terms of use : http://incubator.apache.org/harmony/mailing.html
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to