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.

Reply via email to