Hi Benson,

Can you get to the OSGI RFCs under development for R7?  There’s the Configurer 
one abstracted from the enRoute configurer that David mentioned and an object 
conversion service abstracting the config-by-annotations from DS 1.3/R6.

I don’t quite understand what you mean by “Object model” and “flattening”.  
Does your project deal with converting nested configurations into e.g. DS 
references somehow?  Or does it flatten tree-shaped configurations into a 
single CA configuration?  I’m in favor of both of these ideas making it into 
the specs in some form; felix DS already has some support for tree-shaped 
configurations using complex keys rather than complex values.

I’d appreciate some more description of what your code does….

thanks
david jencks
> On Dec 25, 2015, at 1:56 PM, David Daniel <[email protected]> wrote:
> 
> Thank you for the explanation
> 
> On Friday, December 25, 2015, Benson Margulies <[email protected]>
> wrote:
> 
>> On Fri, Dec 25, 2015 at 4:45 PM, David Daniel
>> <[email protected] <javascript:;>> wrote:
>>> What are the differences other than yaml with enroutes configuration
>>> provider.
>>> 
>> https://github.com/osgi/osgi.enroute.bundles/tree/master/osgi.enroute.configurer.simple.provider
>> 
>> It does not look to me as if that does a full object model; it looks
>> as if it just replaces property file syntax for a single-level map
>> with json syntax.  I may not be doing it justice in a fast read. Also,
>> mine allows the receiving component to convert the Dictionary (back)
>> to a Jackson JsonNode, and thence to a real class model. So, you can
>> define a configuration in terms of full data model, but still push it
>> through config admin and allow the use of the webconsole or karaf
>> shell to examine or make minor changes on the fly. I am not educated
>> in enroute, so I would not be surprised to learn that I've reinvented
>> a wheel.
>> 
>> 
>>> 
>>> On Fri, Dec 25, 2015 at 4:39 PM, Benson Margulies <[email protected]
>> <javascript:;>>
>>> wrote:
>>> 
>>>> After some hints from folks on the Karaf list, I implemented a mutant
>>>> cousin of fileinstall. It only does config admin, and it's role in
>>>> life is to read yaml or json files, 'flatten' them, and push the
>>>> results into config admin. My plan is for the things that use it to
>>>> reconstruct the original object model by reversing the flattening, not
>>>> to actually use keys like "foo.bar[3].baz' -- it includes an API that
>>>> maps a CA Dictionary back to a JsonTree.
>>>> 
>>>> For expediency, I made it depend on NIO2 (not to mention Jackson) and
>> DS.
>>>> 
>>>> I doubt that folks will see this as generally applicable, but I
>>>> carefully set it up with AL so that I could contribute it if there is
>>>> a surprising (to me) groundswell of interest. I know that some
>>>> karafers read this list, so I'm not going to bother to crosspost.
>>>> 
>>>> I haven't written any automated tests yet.
>>>> 
>>>> https://github.com/benson-basis/yaml-configuration-admin
>>>> 
>> 

Reply via email to