Slight correction
a Collection of Objects is supposed to be serialized e.g. as I(1,2)

I am wondering under which circumstances an array of Objects, e.g. I[1,2] is 
being emitted?
 

> On 5. Mar 2019, at 12:28, Konrad Windszus <konra...@gmx.de> wrote:
> 
> Well, if I read the OSGi metatype spec correctly 
> (https://osgi.org/specification/osgi.cmpn/7.0.0/service.metatype.html#org.osgi.service.metatype.annotations.AttributeType)
>  it is supposed to be a primitive array (serialized e.g. as i[1,2]) for a 
> positive cardinality and a Collection of Objects (serialized e.g. as I[1,2])  
> for a negative cardinality.
> AFAICT the write back behaves accordingly to that spec, i.e. it will only 
> emit primitives for types having a positive cardinality and otherwise an 
> array of proper classes.
> 
> Is that a wrong understanding?
> Konrad
> 
>> On 5. Mar 2019, at 09:21, Karl Pauls <karlpa...@gmail.com> wrote:
>> 
>> I think the writeback is a bug as it stands right now. AFAICS, the
>> webconsole always converts arrays to primitive arrays and the
>> writeback just serialises what is there as is. Given that the
>> documentation only mentions a capital "I", the writeback should be
>> converting primitive arrays before writing back.
>> 
>> I don't mind changing the documentation to allow lower case "i" as
>> well - assuming that really already works in all places - however, it
>> will cause some inconsistencies because if you then put a config in
>> the repository with a capital "I" it will first create a config with a
>> none primitive array. Next, if you modify it using the webconsole it
>> will turn into a primitive array which will be written back as lower
>> case "i". Not sure that is a real problem but it is somewhat confusing
>> as the config in the repository now has a lower case "i".
>> 
>> In other words, I think we are really talking about two things - a bug
>> in the writeback and a potential broadening of the supported types.
>> 
>> regards,
>> 
>> Karl
>> 
>> On Mon, Mar 4, 2019 at 7:06 PM Carsten Ziegeler <cziege...@apache.org> wrote:
>>> 
>>> +1 its always good to document reality...unless its a bug of course :)
>>> 
>>> Carsten
>>> 
>>> 
>>> Georg Henzler wrote
>>>> If it works I'm +1 to document it...
>>>> 
>>>> On 2019-02-27 14:15, Konrad Windszus wrote:
>>>>> Despite the documentation at
>>>>> https://sling.apache.org/documentation/bundles/configuration-installer-factory.html#configuration-files-config
>>>>> 
>>>>> <https://github.com/apache/felix/blob/trunk/configadmin/src/main/java/org/apache/felix/cm/file/ConfigurationHandler.java>
>>>>> 
>>>>> also primitive types are supported (with lower-case type information
>>>>> characters, compare with
>>>>> https://github.com/apache/felix/blob/ad2aabb04c754f86c6417c437256500dd61a4ffb/configadmin/src/main/java/org/apache/felix/cm/file/ConfigurationHandler.java#L92).
>>>>> 
>>>>> Is there a reason why this is not documented?
>>>>> AFAIK the lowercase is also used for the JCR Installer write back,
>>>>> e.g. in case the metatype defines something like "<AD id="levels"
>>>>> type="Integer" cardinality="2147483647" name="Absolute Levels"
>>>>> description="List of absolute parent levels. Example: Absolute parent
>>>>> level 1 of '/foo/bar/test' is '/foo/bar'."/>"
>>>>> 
>>>>> In case the cardinality is a large positive integer it is always
>>>>> supposed to be an array of primitives (compare with
>>>>> https://osgi.org/specification/osgi.cmpn/7.0.0/service.metatype.html#org.osgi.service.metatype.annotations.AttributeType).
>>>>> 
>>>>> Does anything speak against extending that documentation in that regard?
>>>>> 
>>>>> Thanks,
>>>>> Konrad
>>> --
>>> Carsten Ziegeler
>>> Adobe Research Switzerland
>>> cziege...@apache.org
>> 
>> 
>> 
>> -- 
>> Karl Pauls
>> karlpa...@gmail.com
> 

Reply via email to