commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Lopashev (JIRA)" <>
Subject [jira] [Commented] (CONFIGURATION-617) Incorrect multi-valued property substitution
Date Mon, 25 Jan 2016 08:06:39 GMT


Alex Lopashev commented on CONFIGURATION-617:

I guess you can agree such interpolation of array/collection to only first element is broken.
There are several approaches for solution:
# Support array/collection return type for {{resolveContainerStore}} as it's already returning
{{Object}}. This one is heavy and error-prone.
# Joining values with delimiter into one string and add splitting value somewhere at the last
step of evaluation. This seems just not right approach and source for subtle bugs.
# Do nothing and treat such behavior as expected. This option is ok if array/container processing
would be turned off by default, right now it's on and uses comma (most natural symbol for
enumeration) as delimiter.

So this is feature request for disabling multi-valued properties be default and treat strings
with commas just like any other strings.

> Incorrect multi-valued property substitution
> --------------------------------------------
>                 Key: CONFIGURATION-617
>                 URL:
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: Interpolation
>    Affects Versions: 1.10
>            Reporter: Alex Lopashev
> According to [AbstractConfiguration#resolveContainerStore|]
code and documentation it uses only first value if array/collection property value. 
> Such behavior is broken in a trivial situation: 
> {{a=1,2,3}}
> {{b=$\{a\} ⇒ b=1}}
> The solution will be to stop using logic in {{resolveContainerStore(key)}} and just use

This message was sent by Atlassian JIRA

View raw message