commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wieland Gmeiner <>
Subject Re: [CONFIGURATION] preserve mulitline property over load and save
Date Thu, 15 Sep 2011 08:37:38 GMT
Thank you guys for the input. I see there are some ways to get this
into configurations, but none of them trivial. I will discuss this
with my customer if they are willing to spend time on this feature.


On Wed, Sep 14, 2011 at 10:07 PM, Oliver Heger
<> wrote:
> Am 14.09.2011 13:18, schrieb Wieland Gmeiner:
>> On Wed, Sep 14, 2011 at 12:37 PM, sebb<>  wrote:
>>> On 14 September 2011 09:23, Wieland Gmeiner<>
>>>  wrote:
>>>> On Wed, Sep 14, 2011 at 1:15 AM, sebb<>  wrote:
>>>>> On 13 September 2011 23:19, Wieland Gmeiner<>
>>>>>  wrote:
>>>>>> On Wed, Sep 14, 2011 at 12:06 AM, sebb<>  wrote:
>>>>>>> On 13 September 2011 21:31, Oliver
>>>>>>> Heger<>  wrote:
>>>>>>>>> Is there a possiblity to tweak the PropertiesConfiguration
so that
>>>>>>>>> it
>>>>>>>>> preserves the original layout over a load/store cycle?
>>>>>>> Why do you want to do this?
>>>>>> Because I'm programmatically changing configuration files (e.g.
>>>>>> inserting additional properties) and it would be nice not to mess
>>>>>> the layout of the original files. A sysadmin won't be pleased if
>>>>>> update program changes the layout of his handcrafted config files.
>>>>>> wouldn't.
>>>>> In that case, I think you are going to have to write your own output
>>>>> method.
>>>>> So long as you don't change any of the input settings, you should just
>>>>> be able to append the new ones to the end.
>>>> I also have to change values of already existing properties, so
>>>> appending only is not a choice.
>>> Fixing property values in place is going to be a lot harder in general.
>>> As already noted, the original formatting is dropped when the file is
>>> loaded.
>>> But even if the format were retained, it's still tricky to rewrite the
>>> file with the new values if spacing is significant.
>>> What if the new values are longer or shorter? Should spacing be adjusted?
>>> If the original property has a single value, and another value is
>>> added, should this be on the same line or the next?
>>> And what spacing should be used?
>>> Try writing down the rules for updating the file assuming that the
>>> person doing it has no knowledge of what the format is trying to
>>> achieve.
>> I know it's hard, because I tried to do that for xml and properties
>> with the Java SE alone. While handling the "real" work (i.e. merging
>> nodes/properties) is not so hard, the layout problem was driving me
>> nuts, thats why I started to search some library where someone already
>> solved that problem for me. But it seems that will remain on the todo
>> list at the moment.
> A possible approach could be to extend PropertiesConfigurationLayout to
> store the unprocessed property values. (This is similar to what sebb had
> already suggested.) It should be feasible to extend the special properties
> reader class so that it can provide the original data.
> As long as property values are not changed, the original layout of the file
> could be retained (at least to a better degree).
> PropertiesConfigurationLayout uses a linked hash map to store its data so
> the order is also kept. (IIRC multiple occurrences of properties are an
> exception, they are always grouped together.)
> If there are really specific needs for formatting property values, maybe the
> layout object could be extended to provide a method for setting a formatted
> property value.
> But all of this is not trivial and will also increase memory consumption. So
> it should be possible to disable this feature if it is not needed (or maybe
> even disabled per default).
> Just some thoughts - I am still unsure whether this is worth the effort.
> Oliver
>>>> Btw, for appending only I don't need configurations at all.
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>>> For additional commands, e-mail:
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> For additional commands, e-mail:
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message