Sure!

https://issues.apache.org/jira/browse/FELIX-4047

Thanks,
Thomas Joseph


On Fri, May 3, 2013 at 5:32 PM, Carsten Ziegeler <[email protected]>wrote:

> Ah, yes - you're right; I think you've hit a bug in the SCR plugin. With
> cardinality or the unbounded property you influence the generation of the
> metatype information, but not the ds xml file.
> Could you please create an issue for this?
>
> Thanks
> Carsten
>
> 2013/5/3 Thomas Joseph <[email protected]>
>
> > Thanks Carsten!
> >
> > I tried both the options (unbounded=PropertyUnbounded.ARRAY and
> > cardinality=N)
> > independently, but unfortunately it doesn't seem to work. The scr xml
> still
> > generates <property name="multivalued.property"
> value="only-single-value"/>
> >
> > I even upgraded to SCR annotations v1.9.2 and Maven SCR plugin 1.12.0,
> and
> > still it won't work. Can I have a code sample somewhere, so that I can
> try
> > it out?
> >
> >
> > Thanks,
> > Thomas Joseph
> >
> >
> >
> > On Fri, May 3, 2013 at 11:44 AM, Carsten Ziegeler <[email protected]
> > >wrote:
> >
> > > Hi,
> > >
> > > unfortunately, the java annotations do not distinguish between a single
> > > value and an array, so it's impossible by looking at {"single value"}
> if
> > > this is should be a single value or an array. For the tooling
> inspecting
> > > the annotations "single value" looks exactly the same. Therefore the
> SCR
> > > plugin assumes a single value to be exactly this: a single value :)
> > > If you just want to specify a single default value for a multi value
> > > property, you can either use cardinality=N if you want to limit the
> > number
> > > of values, or unbounded=PropertyUnbounded.ARRAY. We usually the latter
> > > option.
> > >
> > > Carsten
> > >
> > >
> > > 2013/5/3 Thomas Joseph <[email protected]>
> > >
> > > > Hi All,
> > > >
> > > > I am using Felix SCR annotations v1.7.0 and Maven SCR plugin 1.8.0,
> and
> > > > declaring a OSGi property as:
> > > >
> > > > @Property(label="Multivalued Property", value={"only-single-value"})
> > > > private static final String MV_PROPERTY= "multivalued.property";
> > > >
> > > > And then try to retrieve the property value as:
> > > >
> > > >
> > > > @Activate
> > > > @Modified
> > > > protected void activate(*final ComponentContext context*) throws
> > > Exception
> > > > {
> > > >    Object prop = context.getProperties().get(MV_PROPERTY);
> > > > }
> > > >
> > > >
> > > >
> > > > But I observe that the value is retrieved as a String and not a
> String
> > > > array. The generated SCR xml itself is generated for a String and
> not a
> > > > String array.
> > > >  <property name="multivalued.property" value="only-single-value"/>
> > > >
> > > > However, if I declare the property as below, I get the value as an
> > array.
> > > >
> > > > @Property(label="Multivalued Property", value={"only-single-value"*,
> > > ""*})
> > > > private static final String MV_PROPERTY= "multivalued.property";
> > > >
> > > > I Googled around but could not find anything conclusive. Am I missing
> > > > something here? How can I get a String array without a workaround
> done
> > > > above.
> > > >
> > > > --
> > > > Thanks,
> > > > /Thomas Joseph
> > > >
> > >
> > >
> > >
> > > --
> > > Carsten Ziegeler
> > > [email protected]
> > >
> >
>
>
>
> --
> Carsten Ziegeler
> [email protected]
>



-- 
Thanks and Regards,
/Thomas Joseph

LinkedIn: http://www.linkedin.com/in/ethomasjoseph
Twitter: http://twitter.com/ethomasjoseph

------------------------------------------------------------
Promote Open Source - Promote Liberty of Ideas and Software.
------------------------------------------------------------

Reply via email to