https://issues.apache.org/ooo/show_bug.cgi?id=121192
Priority: P3
Bug ID: 121192
Assignee: [email protected]
Summary: service EnumerableMap is too restrictive on data types
Severity: normal
Issue Type: DEFECT
Classification: Code
OS: All
Reporter: [email protected]
Hardware: All
Status: CONFIRMED
Version: AOO 3.4.1
Component: code
Product: api
If an enumerable map is declared as using a value of type long, it will not
accept in Basic a value like 1234, because it is interpreted as short.
This probably happens with other language bindings.
Example:
Option Explicit
Sub Main
' Needs AOO 3.4.1 that solves Bug 116184
Dim dico As Object, enu As Object, elem As Variant, ville As String
dico = com.sun.star.container.EnumerableMap.create("string", "long")
dico.put("Angers", 49000) ' key "Angers", Item 49000
dico.put("Foix", 9000) ' throws IllegalTypeException ***
dico.put("Foix", CreateUnoValue("long", 9000)) ' works, but cumbersome
End Sub
The same problem can also happen with keys.
Keys and values handling should use the service c.s.s.script.Converter to widen
from one type to another when it is possible (e.g. short > long or long >
double).
--
You are receiving this mail because:
You are the assignee for the bug.