OSGi is moving to use collection types like Map were possible. This is why Map is used in the constructor arguments. For Framework 2.0 we plan to abandon Dictionary entirely. But for DS in 4.2, the DS impl will need to handle the Dictionary to Map mapping :-)
BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the OSGi Alliance
[email protected]
Office: +1 386 848 1781 Mobile: +1 386 848 3788


----- Original Message -----
From: David Wegener [[email protected]]
Sent: 06/18/2009 09:05 PM EST
To: [email protected]
Subject: [osgi-dev] 4.2 Draft Declarative Service properties aren't     
consistent handled



The 4.2 draft spec for Declarative Services identifies 3 ways to provide properties to Components: Component Factory.newInstance method, Configuration Admin Service, specified in Component description. The ComponentFactory and ConfigurationAdminService use a Dictionary to contain the properties. If you define properties in a Component Description, they will be passed to the Component's activate method as a Map.

The activate method can take zero or more arguments. Each argument must
be of one of the following types:
• ComponentContext – The component instance will be passed the Component
Context for the component configuration.
• BundleContext – The component instance will be passed the Bundle
Context of the component's bundle.
• Map – The component instance will be passed an unmodifiable Map containing
the component properties.


This creates an inconsistency since Dictionary doesn't implement the Map interface. Implementations would have to be able to handle both a Map and a Dictionary to allow the component to be used by each of the different property providers. Changing the draft to look for a method that takes a Dictionary instead of a Map would provide a consistent interface across the different configuration options.

Is this something that would be addressed by entering a bug report?
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to