Yes I understand. Thank you On Sep 8, 2016 7:10 PM, "David Bosschaert" <david.bosscha...@gmail.com> wrote:
> Hi David D, > > The pattern that is being followed here is similar to what is done for OSGi > Promises of which an implementation exists in Apache Aries [1]. There the > Deferred, a class in the org.osgi.service... namespace instantiates the > Aries implementation. Other implementations can replace the Deferred class > to instantiate their own implementations. > Similarly here constructing a new > org.osgi.service.converter.StandardConverter will instantiate the Felix > implementation. The org.osgi.service.converter package is embedded in the > bundle. Other implementations will also embed the > org.osgi.service.converter package but provide a different > StandardConverter class, which instantiates a different implementation. > > Changed in the recent refactoring is that the Converter is not a service > any more. The StandardConverter is a converter instance that is exactly > doing what it says in the spec. Anyone who wants a converter simply creates > one by calling new StandardConverter(). > If you want to add customization rules, you simply obtain an Adapter by > calling > Adapter a = new StandardConverter().newAdapter(); > Then you can add your rules to a. The Adapter a is also a Converter - it > implements the Converter interface just like the StandardConverter. So you > can call a.convert(something).to(SomethingElse.class) which triggers your > rules if applicable. > This allows you to create different adapters for different parts of your > application. Its up to the application to decide how to share these > adapters with other parts of the application. You could use the service > registry for that but that's up to you. > > Hope this helps, > > David > > [1] see https://svn.apache.org/viewvc/aries/trunk/async/ > promise-api/src/main/java/org/osgi/util/promise/Deferred.java?view=markup > > On 8 September 2016 at 07:00, David Daniel <david.daniel.1...@gmail.com> > wrote: > > > I am guessing the stuff in the org.osgi.service namespace is going into a > > separate bundle similar to how the other services were taken out of > > compendium. Right now the StandardConverter in source control news up an > > apache impl converter object. Is that code going to change to get a > > converterfactory from the service registry and get a converter instance > > from there or something like that. The reason I am asking is that right > > now I have different bundles that add rules to the adapter for the > objects > > that they manage. It happens one time on activate. Should I be changing > > how I do things for instance, should my "Search" service have a function > > that gets a converter with the rules added and inside the get converter > > function it news up a standard converter and then adds the rules or > should > > I be adding rules to some global service or adapter that > StandardConverter > > will eventually get an object from. > > > > Thanks for any help, > > David Daniel > > > > On Thu, Sep 8, 2016 at 9:30 AM, David Bosschaert < > > david.bosscha...@gmail.com > > > wrote: > > > > > Hi all, > > > > > > The Converter API was recently discussed in the OSGi Expert Groups and > > > based on the feedback the API has been refactored a bit. > > > One change is how the converter is obtained in a standard way. > Previously > > > this was done by calling ConverterFactory.standardConverter() but this > > is > > > now done by calling 'new StandardConverter()'. > > > The converter can be used inside an OSGi framework but also outside of > > OSGi > > > in the same way. This follows a pattern used by the OSGi Promises as > > well. > > > The Codecs will remain an OSGi service (also obtainable via > > > ServiceLoader.load()) but they are renamed to 'Serializer'. > > > I've made these changes to the Felix Converter codebase. > > > > > > This is a component that is still very much under development until the > > > OSGi R7 specs are released so changes like this can happen. For those > who > > > already use the convert it should not be too hard to update their code > - > > > hopefully :) > > > > > > Cheers, > > > > > > David > > > > > >