Hi Francesco Sure, that might be worth an evaluation. Currently you would need to use the TreeUtil method in order to make sure the auto-created items are property setup as you already mentioned below.
Kind regards Angela On 26/03/15 14:53, "Francesco Mari" <[email protected]> wrote: >I was not aware of this design decision, thanks for clarifying. > >Anyway, the remote API is currently implemented on top of the >ContentRepository API. This means that I have to take care of >providing values for autocreated properties. Is there anything that >can be done do prevent this? > >I was thinking that maybe, when the "JCR plugins" are installed, a >wrapper of Tree may be installed as well. This wrapper could take care >of the generation of autocreated properties in the transient space. >This is kind of a big change, because the ContentRepository API is not >meant to be extended this way. > > >2015-03-26 14:26 GMT+01:00 Angela Schreiber <[email protected]>: >> hi francesco >> >> well... so far we claimed that it's the responsibility of the >> Oak API caller to make sure that items defined to be autocreated >> from a JCR point of view must be created. as the Oak API itself >> doesn't know about autocreated items. >> >> afaik delegating this to the TypeEditor will not work, because >> JCR mandates for various autocreated items that they are already >> present in the transient state (before being saved). >> >> as you can see it's not only the NodeDelegate that autocreates >> items but e.g. also the user management implementation, the versioning >> etc. >> >> kind regards >> angela >> >> On 26/03/15 14:10, "Francesco Mari" <[email protected]> wrote: >> >>>Hi all, >>> >>>when using the ContentRepository API with the JCR plugins (as >>>installed by the Jcr builder), autocreated properties are not >>>generated. >>> >>>IIUC, this happens because >>>org.apache.jackrabbit.oak.util.TreeUtil#autoCreateItems is only called >>>when using a org.apache.jackrabbit.oak.jcr.delegate.NodeDelegate, >>>instead of being part of the logic executed by >>>org.apache.jackrabbit.oak.plugins.nodetype.TypeEditor. >>> >>>I think that TypeEditor, instead of NodeDelegate, should take care of >>>autocreated items. What do you think? >>
