Re: Comments on bind-08

Julian Reschke wrote:
> 
> Jim Whitehead wrote:
> 
>>
>>> So, could you please specify exactly which situation you'd like the 
>>> example to be for? My understanding was:
>>>
>>> - Method: REBIND
>>> - Locks on: source and target collection
>>>
>>> Correct?
>>
>>
>>
>> I'd like the example to be the following.
>>
>> Given the following collection hierarchy, the example should cover a 
>> REBIND
>> of C3:(CollZ->C1) to C3:(CollZ->C2).
>>
>> +------------------+
>> | Root Collection  |
>> |  bindings:       |
>> |  CollW           |
>> +------------------+
>>     |
>>     |
>>     |
>> +-------------------------------+
>> | Collection C1                 |<--------+
>> | bindings:                     |         |
>> | CollX               CollY     |         |
>> +-------------------------------+         |
>>     |                  |                  |
>>     |                  |   (creates loop) |
>>     |                  |                  |
>> +-----------------+  +------------------+ |
>> | Collection C2   |  | Collection C3    | |
>> | LOCKED infinity |  | LOCKED infinity  | |
>> | bindings:       |  | bindings:        | |
>> |  {none}         |  | y.gif     CollZ  | |
>> +-----------------+  +------------------+ |
>>                       |            |      |
>>                       |            +------+
>>                       |
>>                   +---------------------------+
>>                   | Resource R2               |
>>                   | (lock inhereited from C3) |                   
>> +---------------------------+
>>
>> Note that it's fine with me if we don't discuss exactly how the lock 
>> state
>> in the example came to be -- just take it as a given, and go from there.
> 
> 
> Wow.
> 
> Just to make sure, we're talking about
> 
> MOVE /CollW/CollY/CollZ HTTP/1.1
> Destination: /CollW/CollX
> Overwrite: T
> 
> ?
> 
> Best regards, Julian

OK,

given the lock tokens L2 for C2 and L3 for C3, I'd say the REBIND 
request would be:


REBIND /CollW HTTP/1.1
If: <http://example.com/CollW/CollY/CollZ> (<L3>) 
<http://example.com/CollW/CollX> (<L2>)
Overwrite: T

<rebind xmlns="DAV:">
   <segment>CollX</segment>
   <href>/CollW/CollY/CollZ</href>
</rebind>

Reason: we need to supply both lock tokens as we're removing a binding 
to C3 that is protected by the lock L3, and we're removing the target 
binding /CollW/CollY which is protected by the lock L2.


Best regards, Julian

-- 
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760

Received on Thursday, 2 December 2004 21:30:36 UTC