ConfigurationProvider getByHierarchicalName regression

Bernard Marcelly <[email protected]> Mon, 10 Jan 2011 08:34:01 +0100
Newsgroups gmane.comp.openoffice.devel.api
Message-ID <[email protected]>
Hi,
Running a code that works in previous versions (up to 1.1.5 !) I found that it 
throws an exception in OOo 3.3 RC3 / Windows XP. Probably same in the latest RC, 
not tested.

I use getByHierarchicalName to obtain a set in a container.
If the argument is an absolute address within the container, it is rejected 
"NoSuchElementException".
If the argument is a relative address it is accepted.
Both case were accepted up to now.

A second anomaly is that if you put a Watch in Basic on the variable containing 
the registry key content, OpenOffice crashes. Seems similar to Issue 112107.

Here is the Basic code. It reads the data UseSystemFileDialog in node: 
/org.openoffice.Office.Common/Misc
It successfully reads with a relative address, then fails with an absolute address.
______________

Sub Main
Dim rk As Object, v As Object, dataValue As Variant
' using GetRegistryKeyContent() from module Misc of library Tools
GlobalScope.BasicLibraries.loadLibrary("Tools")

rk = GetRegistryKeyContent("/org.openoffice.Office.Common")
' if you put a watch on rk and a breakpoint at next instruction, OpenOffice 
crashes !

' next line works, the argument is relative to the node name
v = rk.getByHierarchicalName("Misc")
dataValue = v.getByName("UseSystemFileDialog")
MsgBox("Value : " & dataValue, 0, "Relative address")

' next line throws com.sun.star.container.NoSuchElementException with an 
absolute address
v = rk.getByHierarchicalName("/org.openoffice.Office.Common/Misc")
dataValue = v.getByName("UseSystemFileDialog")
MsgBox("Value : " & dataValue, 0, "Absolute address")

rk.dispose
End Sub
______________

I think this is a stopper to 3.3, your opinion ?
Regards
   Bernard