To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=89728
                 Issue #|89728
                 Summary|URE throws ClassCastException on array array types wit
                        |h 1.6 JVM
               Component|udk
                 Version|OOo 2.0
                Platform|All
                     URL|
              OS/Version|All
                  Status|UNCONFIRMED
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P1
            Subcomponent|code
             Assigned to|kr
             Reported by|andreil





------- Additional comments from [EMAIL PROTECTED] Wed May 21 13:30:51 +0000 
2008 -------
We need to know if OO oficially supports URE stuff on Sun's 1.6 Java VM.

I guess not, as we found in our software based on URE 2.0 - 2.3 
(ClassNotFoundException if using sequence of sequences in UNO/Java).

AS IS:
If one uses sequence of sequences type on the C/C++ side and then tries to use 
the Java interface to access the data through URE, like

public long[][] getMyMatrixData()

on Java side, 1.6 VM throws ClassCastException [J during the call, because URE 
uses wrong way to resolve the class name for array types. This worked on all 
VM's until 1.6, but 1.6 changed (fixed) the way how the class names has to be 
specified.

Similar problem/solution is described here: http://jira.jboss.org/jira/browse/
JBAS-4491:

############
There is an undocumented system property (besides the jvm source) in JDK 
5 and 6 called "sun.lang.ClassLoader.allowArraySyntax". The default 
changed from true to false in JDK6. So what this means is that in JDK6, 
unless you set that property to true, if you try and load a Java array 
type using a classloader (e.g. "[[B") you will get a CNFE. 
The compatible solution is to either interpret array types directly (not 
hard), or to use the extended form of Class.forName(), which does 
understand the array syntax: 
Class clazz = Class.forName(className, false, loader);
#############

Today we was able to workaround current problem, but we must ensure that later 
releases of URE will work with later releases of Sun's Java, where the current 
workaround will be not more possible. 

Regards,
Andrei Loskutov

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to