commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Heger <oliver.he...@oliver-heger.de>
Subject Re: [configuration] Adding Nodes in certain position
Date Thu, 21 Apr 2011 19:15:19 GMT
Am 20.04.2011 22:14, schrieb Paul Benedict:
> If the ordering matters, I would introduce a new OrderedConfiguration
> interface for greater positioning control.

Yes, this is a completely new feature. However, I fear that its 
implementation won't be straightforward.

Currently, the hierarchical configuration implementation uses the 
ConfigurationNode interface to update its internal node structure. The 
cleanest solution is probably to extend this interface by an insert() 
method. But this would break binary compatibility and thus require a 
major release.

@Sergio: If you only have simple structures like a list with nodes and 
values (and no child nodes or even complex sub trees), the following 
approach should work:
- Call getList() with the correct key to obtain the current values of 
the nodes affected.
- Insert the new node value at the desired position in the list.
- Call setProperty() with the same key and the modified list. This will 
update the nodes structure correspondingly.

But as I said, this only works for simple scenarios.

Oliver

>
> On Wed, Apr 20, 2011 at 3:02 PM, Oliver Heger
> <oliver.heger@oliver-heger.de>wrote:
>
>> Hi Sergio,
>>
>> Am 20.04.2011 16:03, schrieb Sergio Criales:
>>
>>   Hi There,
>>>
>>> I want to add a node before another node, but in the API I wasn' t
>>> able to find how to do it, please any ideas to do this???
>>>
>>> Sergio Criales
>>>
>>>   this is indeed a good question! With the standard API defined by the
>> Configuration interface there does not seem to be an obvious solution for
>> this problem. All methods for adding properties append the new node(s) to
>> existing ones.
>>
>> Also the ConfigurationNode API (which represents the nodes stored in a
>> hierarchical configuration) does not support inserting a child node at a
>> specified position.
>>
>> Obviously, nobody had this requirement before. Does anybody else have an
>> idea?
>>
>> Oliver
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>> For additional commands, e-mail: user-help@commons.apache.org
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message