felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david.a.jen...@gmail.com>
Subject Re: Anyone interested in 'fileinstall' for config via flattening YAML or Json?
Date Fri, 25 Dec 2015 22:15:37 GMT
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….

david jencks
> On Dec 25, 2015, at 1:56 PM, David Daniel <david.daniel.1979@gmail.com> wrote:
> Thank you for the explanation
> On Friday, December 25, 2015, Benson Margulies <bimargulies@gmail.com>
> wrote:
>> On Fri, Dec 25, 2015 at 4:45 PM, David Daniel
>> <david.daniel.1979@gmail.com <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 <bimargulies@gmail.com
>> <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

View raw message