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 >