Hi,
I agree, that's not possible. Now, you could think about using different
configurations. So the shared part is one OSGi configuration and each
"extension" is another OSGi configuration specific to your component.
A DS component can consume multiple configurations.
The additional advantage is that the shared part needs only to be
configured once. The disadvantage might be that this is now shared
between your components and they will use the exact same configuration
Regards
Carsten
Am 07.11.2018 um 18:07 schrieb João Assunção:
Hello Tim,
I understand that. I just assumed the default values provided in the AD
elements of the Metatype XML files would be used as defaults by
ConfigAdmin. I guess the Metatype information is used only for UI purposes.
I guess I will be forced to duplicate configuration attributes in my
configuration annotations. Using the approach suggested by Carsten I
would need to create the MetaType files by hand. At least I didn't found
a way to generate an OCD from two separate configuration annotations.
João Assunção
Email: [email protected] <mailto:[email protected]>
Mobile: +351 916968984
Phone: +351 211933149
Web: www.exploitsys.com <http://www.exploitsys.com>
On Wed, Nov 7, 2018 at 3:26 PM Tim Ward <[email protected]
<mailto:[email protected]>> wrote:
The @AttributeDefinition is a build time annotation, not a runtime
annotation. There is therefore no visibility of the annotation
values for DS to use at runtime. This also avoids your bundle from
being coupled to the meta type API just because it uses the annotations.
Best Regards,
Tim
On 7 Nov 2018, at 11:10, João Assunção via osgi-dev
<[email protected] <mailto:[email protected]>> wrote:
Hi Carsten,
Thank you for the clarification and the tip.
I assumed the framework would use the defaults provided
in @AttributeDefinition when using an interface for configuration.
Regards,
João Assunção
Email: [email protected]
<mailto:[email protected]>
Mobile: +351 916968984
Phone: +351 211933149
Web: www.exploitsys.com <http://www.exploitsys.com/>
On Wed, Nov 7, 2018 at 11:00 AM Carsten Ziegeler
<[email protected] <mailto:[email protected]>> wrote:
Hi,
no interfaces are not supported for configuration, only
annotations.
Main reason is the support of default values for configuration
properties.
But you can pass in more arguments into the activate method,
so instead
of having a base interface C and lets say two configuration
interface C1
and C2 inheriting from C, you specify three annotations C, C1
and C2
where C1 and C2 only have the additional properties.
In your activate method you can then have two arguments C and
C1 for one
component and C and C2 for the other component.
Regards
Carsten
Am 07.11.2018 um 11:53 schrieb João Assunção via osgi-dev:
> Hello all,
>
> I have two components where the configuration shares a
couple of
> attributes. To avoid duplication, and because Java doesn't
allow
> annotations to be extended, I changed the configuration
annotations to
> interfaces.
> When building, bnd-maven-plugin fails with the following
error message:
>
> Non annotation argument to lifecycle method with descriptor
>
> I checked the specs and @ObjectClassDefinition can be
applied to an
> interface type.
>
> Thank you
> João
>
> Email: [email protected]
<mailto:[email protected]>
<mailto:[email protected]
<mailto:[email protected]>>
> Mobile: +351 916968984
> Phone: +351 211933149
> Web: www.exploitsys.com <http://www.exploitsys.com/>
<http://www.exploitsys.com <http://www.exploitsys.com/>>
>
>
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected] <mailto:[email protected]>
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
--
Carsten Ziegeler
Adobe Research Switzerland
[email protected] <mailto:[email protected]>
_______________________________________________
OSGi Developer Mail List
[email protected] <mailto:[email protected]>
https://mail.osgi.org/mailman/listinfo/osgi-dev
--
Carsten Ziegeler
Adobe Research Switzerland
[email protected]
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev