I’m sure that will drive Gary nuts.  Let’s call the new method “put2()”.

Ralph

> On Mar 24, 2021, at 5:18 PM, Remko Popma <remko.po...@gmail.com> wrote:
> 
> Instead of overloading the existing method(s), how about adding new methods
> with a slightly different name that takes Object parameters?
> 
> On Thu, Mar 25, 2021 at 8:46 AM Carter Kozak <cko...@ckozak.net> wrote:
> 
>> The method argument type changes are an ABI break, but I recall extending
>> MapMessage within a project in order to support more expressive types --
>> that
>> may have relied on dangerously casting the result of
>> getIndexedReadOnlyStringMap
>> to an IndexedStringMap.
>> Including a safer Object-valued MapMessage subclass (with overloaded put
>> methods)
>> sounds reasonable to me given at least two of us have run into this!
>> 
>> -Carter
>> 
>> On Wed, Mar 24, 2021, at 19:29, Remko Popma wrote:
>>> I called it StringMap because the keys must be Strings. Admittedly not a
>>> great name. :-)
>>> 
>>> Not sure exactly, but there may be cases where this change could cause an
>>> issue:
>>> putAll(final Map<String, String> map) ->
>>> putAll(final Map<String, Object> map)
>>> 
>>> On Thu, Mar 25, 2021 at 2:12 AM Ralph Goers <ralph.go...@dslextreme.com
>> <mailto:ralph.goers%40dslextreme.com>>
>>> wrote:
>>> 
>>>> I looked the other day and wondered the same thing Volkan did. There
>> are
>>>> no unit tests and the contributor didn’t even indicate that he had
>> tried
>>>> it.
>>>> 
>>>> I was initially concerned that the underlying Map wouldn’t support it
>>>> since it has StringMap in its name. It turns out the values are
>> objects.
>>>> 
>>>> Technically I don’t think this would break compatibility. Any code
>>>> referencing the put(String, String) would automatically map to
>> put(String,
>>>> Object). He didn’t modify the get method which would have broken
>>>> compatibility.
>>>> 
>>>> Ralph
>>>> 
>>>>> On Mar 24, 2021, at 8:27 AM, Matt Sicker <boa...@gmail.com <mailto:
>> boards%40gmail.com>> wrote:
>>>>> 
>>>>> Pretty sure that would break binary compatibility since it removes
>> the
>>>>> String method. I think it might be addable but not removed like that.
>>>>> 
>>>>> On Wed, 24 Mar 2021 at 02:39, Volkan Yazıcı <volkan.yaz...@gmail.com
>> <mailto:volkan.yazici%40gmail.com>>
>>>> wrote:
>>>>>> 
>>>>>> Hello,
>>>>>> 
>>>>>> Adding non-String-typed value support to MapMessage was also
>> something
>>>> on
>>>>>> my radar too. But this PR replacing String with Object in two lines
>>>> seems
>>>>>> too good to be true to me. Does anybody mind taking a second look at
>>>> this,
>>>>>> please?
>>>>>> 
>>>>>> Kind regards.
>>>>>> 
>>>>>> ---------- Forwarded message ---------
>>>>>> From: Henry Widd <notificati...@github.com <mailto:
>> notifications%40github.com>>
>>>>>> Date: Tue, Mar 23, 2021 at 4:58 PM
>>>>>> Subject: [apache/logging-log4j2] MapMessage put methods should not
>>>> mandate
>>>>>> String values (#477)
>>>>>> To: apache/logging-log4j2 <logging-log...@noreply.github.com
>> <mailto:logging-log4j2%40noreply.github.com>>
>>>>>> Cc: Subscribed <subscri...@noreply.github.com <mailto:
>> subscribed%40noreply.github.com>>
>>>>>> 
>>>>>> 
>>>>>> the underlying Map is typed <String,Object> so the put methods on
>>>>>> MapMessage can also be.
>>>>>> ------------------------------
>>>>>> You can view, comment on, or merge this pull request online at:
>>>>>> 
>>>>>> https://github.com/apache/logging-log4j2/pull/477
>>>>>> Commit Summary
>>>>>> 
>>>>>>  - MapMessage put methods should not mandate String values
>>>>>> 
>>>>>> File Changes
>>>>>> 
>>>>>>  - *M*
>>>>>> 
>>>> 
>> log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java
>>>>>>  <
>>>> 
>> https://github.com/apache/logging-log4j2/pull/477/files#diff-f03ffe9ceefd37c87fd118ce591bd8ad288e43b08cd663dde14441f4e7c117ef
>>>>> 
>>>>>>  (6)
>>>>>> 
>>>>>> Patch Links:
>>>>>> 
>>>>>>  - https://github.com/apache/logging-log4j2/pull/477.patch
>>>>>>  - https://github.com/apache/logging-log4j2/pull/477.diff
>>>>>> 
>>>>>> —
>>>>>> You are receiving this because you are subscribed to this thread.
>>>>>> Reply to this email directly, view it on GitHub
>>>>>> <https://github.com/apache/logging-log4j2/pull/477>, or unsubscribe
>>>>>> <
>>>> 
>> https://github.com/notifications/unsubscribe-auth/AAARTSKGBRHC4NG637EHA4LTFC3BTANCNFSM4ZVO7L2Q
>>>>> 
>>>>>> .
>>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>> 


Reply via email to