Hi,

Am 02.11.2011 um 17:22 schrieb Michael Dürig:

> 
> 
> On 2.11.11 16:07, Felix Meschberger wrote:
>> Hi,
>> 
>> Thanks Thomas and Michael for documenting your JSOP use.
>> 
>> I have one comment:
>> 
>>> + DIFFS    ::= (ADD | SET | REMOVE | MOVE)*
>>> + ADD      ::= "+" STRING ":" (OBJECT | ATOM)
>>> + SET      ::= "^" STRING ":" ATOM
>>> + REMOVE   ::= "-" STRING
>> 
>> I see there is ADD support for properties but no REMOVE support. I think ADD 
>> support is not needed, because SET does it all. This not only makes the 
>> syntax cleaner but also its use.
>> 
>> If we keep ADD support for properties, we would -- for symmetry reasons -- 
>> have to add REMOVE support for properties. But this is not possible (since 
>> properties and nodes can have the same name). But then REMOVE support for 
>> properties would not help anything, since setting a property to  null is the 
>> same.
>> 
>> I look at this from the perspective of converting a JSOP document (or string 
>> or text or file or HTTP request) into a series of JCR API calls. In such a 
>> scenario, I would have easy support for SET and REMOVE but would have two 
>> issues for supporting ADD:
>> (1) I would have to inspect the argument to ADD to find out whether it is an 
>> addNode or setProperty call
>> (2) I would have to handle SET and ADD-for-property with the same 
>> setProperty call
> 
> The intended use is not only for HTTP calls but rather also for HTTP replies. 
> In the case of a HTTP reply carrying a change log, how would you distinguish 
> setProperty from adProperty? I.e. generate the correct JCR observation events 
> from that change log?

Right. I wonder, why this would be of interest ? (and yes I know that there is 
a PROPERTY_ADDED and a PROPERTY_CHANGED event type in observation, but ...)

Regards
Felix
> 
> Michael

Reply via email to