You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by lu...@apache.org on 2004/07/13 10:55:29 UTC

cvs commit: jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification pollUpdateCollDepthInfinit.xml pollUpdateCollDepthOne.xml pollUpdateFile.xml subscribe200.xml subscribe400.xml subscribeRefresh.xml

luetzkendorf    2004/07/13 01:55:29

  Added:       testsuite/testsuite/junit/xmltestcases/functional/notification
                        pollUpdateCollDepthInfinit.xml
                        pollUpdateCollDepthOne.xml pollUpdateFile.xml
                        subscribe200.xml subscribe400.xml
                        subscribeRefresh.xml
  Log:
  some notification test cases added
  
  Revision  Changes    Path
  1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/pollUpdateCollDepthInfinit.xml
  
  Index: pollUpdateCollDepthInfinit.xml
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
  <test>
    <specification>
      <abstract>Tests POLL method with Update subscription (infinit depth) on a collection</abstract>
      <description>
        - create a collection
        - subscribe for it (update, depth infinity)
        - poll (NO events should be returned)
        - put a new file
        - poll (one event should be returned)
        - poll (no events should be returned)
        - proppatch on the file
        - poll (one event should be returned)
  
        - create a sub collection
        - poll (one event should be returned)
        - put new file to sub collection
        - poll (one event should be returned)
        - put to same file 
        - poll (one event should be returned)
  
        - proppatch on the file
        - create a sub sub collection
        - poll (two event should be returned)
  
        - unsubscribe
        - delete
      </description>
      <expectedResult></expectedResult>
    </specification>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName,iteration">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
        <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
        <header>Notification-Type: update</header>
        <header>Depth: infinity</header>
      </request>
      <response>
        <command>HTTP/1.1 200 OK</command>
        <header varDefinition="varContentLocation">Content-Location: *</header>
        <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 204 No Content</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/test.html HTTP/1.1</command>
        <body fileReference="../../contentDirectory/html.html" />
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 204 No Content</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/c1/test.html HTTP/1.1</command>
        <header>Content-Type: text/xml</header>
        <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <D:propertyupdate xmlns:D="DAV:">
            <D:set>
              <D:prop>
                <D:displayname>new display name</D:displayname>
              </D:prop>
            </D:set>
          </D:propertyupdate>
        ]]></body>
      </request>
      <response>
        <command>HTTP/1.0 207 Multi-Status</command>
        <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <d:multistatus xmlns:d="DAV">
            <d:response>
              <d:href>/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</d:href>
              <d:propstat>
                <d:prop>
                  <displayname />
                </d:prop>
                <d:status>HTTP/1.1 200 OK</d:status>
              </d:propstat>
            </d:response>
          </d:multistatus>
        ]]></body>
      </response>
    </step>
    
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1/c2 HTTP/1.1</command>
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
        <body fileReference="../../contentDirectory/html.html" />
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
        <body fileReference="../../contentDirectory/html.html" />
      </request>
      <response>
        <command>HTTP/1.1 204 No Content</command>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
        <header>Content-Type: text/xml</header>
        <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <D:propertyupdate xmlns:D="DAV:">
            <D:set>
              <D:prop>
                <D:displayname>new display name</D:displayname>
              </D:prop>
            </D:set>
          </D:propertyupdate>
        ]]></body>
      </request>
      <response>
        <command>HTTP/1.0 207 Multi-Status</command>
        <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <d:multistatus xmlns:d="DAV">
            <d:response>
              <d:href>/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</d:href>
              <d:propstat>
                <d:prop>
                  <displayname />
                </d:prop>
                <d:status>HTTP/1.1 200 OK</d:status>
              </d:propstat>
            </d:response>
          </d:multistatus>
        ]]></body>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1/c2/c3 HTTP/1.1</command>
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</N:information>
                </N:event>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2/c3</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
  
  
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.0 200 OK</command>
      </response>
    </step>
    
    
    <cleanup>
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName">DELETE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
        </request>
        <response>
          <command>HTTP/1.1 204 No Content</command>
        </response>
      </step>
    </cleanup>
  </test>
  
  
  
  
  1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/pollUpdateCollDepthOne.xml
  
  Index: pollUpdateCollDepthOne.xml
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
  <test>
    <specification>
      <abstract>Tests POLL method with Update subscription (depth=1) on a collection</abstract>
      <description>
        - create a collection
        - subscribe for it (update, depth 1)
        - poll (NO events should be returned)
        - put a new file
        - poll (one event should be returned)
        - poll (no events should be returned)
        - proppatch on the file
        - poll (one event should be returned)
  
        - create a sub collection
        - poll (one event should be returned)
  
        - put new file to sub collection
        - poll (NO event should be returned)
        - proppatch on the file
        - create a sub sub collection
        - poll (NO event should be returned)
  
        - unsubscribe
        - delete
      </description>
      <expectedResult></expectedResult>
    </specification>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName,iteration">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
        <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
        <header>Notification-Type: update</header>
        <header>Depth: 1</header>
      </request>
      <response>
        <command>HTTP/1.1 200 OK</command>
        <header varDefinition="varContentLocation">Content-Location: *</header>
        <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 204 No Content</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/test.html HTTP/1.1</command>
        <body fileReference="../../contentDirectory/html.html" />
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 204 No Content</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/c1/test.html HTTP/1.1</command>
        <header>Content-Type: text/xml</header>
        <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <D:propertyupdate xmlns:D="DAV:">
            <D:set>
              <D:prop>
                <D:displayname>new display name</D:displayname>
              </D:prop>
            </D:set>
          </D:propertyupdate>
        ]]></body>
      </request>
      <response>
        <command>HTTP/1.0 207 Multi-Status</command>
        <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <d:multistatus xmlns:d="DAV">
            <d:response>
              <d:href>/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</d:href>
              <d:propstat>
                <d:prop>
                  <displayname />
                </d:prop>
                <d:status>HTTP/1.1 200 OK</d:status>
              </d:propstat>
            </d:response>
          </d:multistatus>
        ]]></body>
      </response>
    </step>
    
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1/c2 HTTP/1.1</command>
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
        <body fileReference="../../contentDirectory/html.html" />
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 204 No Content</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
        <header>Content-Type: text/xml</header>
        <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <D:propertyupdate xmlns:D="DAV:">
            <D:set>
              <D:prop>
                <D:displayname>new display name</D:displayname>
              </D:prop>
            </D:set>
          </D:propertyupdate>
        ]]></body>
      </request>
      <response>
        <command>HTTP/1.0 207 Multi-Status</command>
        <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <d:multistatus xmlns:d="DAV">
            <d:response>
              <d:href>/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</d:href>
              <d:propstat>
                <d:prop>
                  <displayname />
                </d:prop>
                <d:status>HTTP/1.1 200 OK</d:status>
              </d:propstat>
            </d:response>
          </d:multistatus>
        ]]></body>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1/c2/c3 HTTP/1.1</command>
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
              <status>HTTP/1.1 204 No Content</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
  
  
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.0 200 OK</command>
      </response>
    </step>
    
    
    <cleanup>
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName">DELETE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
        </request>
        <response>
          <command>HTTP/1.1 204 No Content</command>
        </response>
      </step>
    </cleanup>
  </test>
  
  
  
  
  1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/pollUpdateFile.xml
  
  Index: pollUpdateFile.xml
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
  <test>
    <specification>
      <abstract>Tests POLL method with Update subscription on a single file</abstract>
      <description>
        - put a file
        - subscribe for it (update)
        - poll (no events should be returned)
        - put on same file
        - poll (one event should be returned)
        - poll (NO events should be returned)
        - proppatch on the file
        - poll (one event should be returned)
  
        - unsubscribe
        - delete
      </description>
      <expectedResult></expectedResult>
    </specification>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
        <body fileReference="../../contentDirectory/html.html" />
      </request>
      <response>
        <command>HTTP/1.1 201 Created</command>
      </response>
    </step>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName,iteration">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
        <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
        <header>Notification-Type: update</header>
        <header>Depth: 0</header>
      </request>
      <response>
        <command>HTTP/1.1 200 OK</command>
        <header varDefinition="varContentLocation">Content-Location: *</header>
        <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/test.html</href>
              <status>HTTP/1.1 204 No Content</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
        <body fileReference="../../contentDirectory/html.html" />
      </request>
      <response>
        <command>HTTP/1.1 204 No Content</command>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/test.html</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/test.html</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/test.html</href>
              <status>HTTP/1.1 204 No Content</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
        <header>Content-Type: text/xml</header>
        <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <D:propertyupdate xmlns:D="DAV:">
            <D:set>
              <D:prop>
                <D:displayname>new display name</D:displayname>
              </D:prop>
            </D:set>
          </D:propertyupdate>
        ]]></body>
      </request>
      <response>
        <command>HTTP/1.0 207 Multi-Status</command>
        <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
          <d:multistatus xmlns:d="DAV">
            <d:response>
              <d:href>/%globalVariableServerName%/%globalVariableCollection%/test.html</d:href>
              <d:propstat>
                <d:prop>
                  <displayname />
                </d:prop>
                <d:status>HTTP/1.1 200 OK</d:status>
              </d:propstat>
            </d:response>
          </d:multistatus>
        ]]></body>
      </response>
    </step>
    
    <step>
      <request>
        <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.1 207 Multi-Status</command>
        <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
          <?xml version="1.0" encoding="UTF-8"?>
          <multistatus xmlns="DAV:">
            <response>
              <href>/%globalVariableServerName%/%globalVariableCollection%/test.html</href>
              <status>HTTP/1.1 200 OK</status>
              <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
                <li>%varSubscriptionID%</li>
                <N:event>
                  <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/test.html</N:information>
                </N:event>
              </N:subscriptionID>
            </response>
          </multistatus>
        ]]></body>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
        <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
      </request>
      <response>
        <command>HTTP/1.0 200 OK</command>
      </response>
    </step>
    
    
    <cleanup>
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName">DELETE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
        </request>
        <response>
          <command>HTTP/1.1 204 No Content</command>
        </response>
      </step>
    </cleanup>
  </test>
  
  
  
  
  1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/subscribe200.xml
  
  Index: subscribe200.xml
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
  <test>
    <specification>
      <abstract>Simple SUBSCRIBE/UNSUBSCRIBE request</abstract>
      <description> </description>
      <expectedResult> </expectedResult>
    </specification>
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName,">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
          <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
          <header>Notification-Type: update</header>
        </request>
        <response>
          <command>HTTP/1.0 200 OK</command>
          <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
        </response>
      </step>
  
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
          <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
        </request>
        <response>
          <command>HTTP/1.0 200 OK</command>
        </response>
      </step>
  </test>
  
  
  
  
  1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/subscribe400.xml
  
  Index: subscribe400.xml
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
  <test>
    <specification>
      <abstract>Testing that invalid SUBSCRIBE requests are properly rejected</abstract>
      <description>
        - put a file
        - subscribe (without notification type)
      </description>
      <expectedResult>All SUBSCRIBE requests should return 400 Bad Request</expectedResult>
    </specification>
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
        <body fileReference="../../contentDirectory/html.html" />
      </request>
      <response>
        <command>HTTP/1.0 201 Created</command>
      </response>
    </step>
  
    <step>
      <request>
        <command varUsage="globalVariableCollection,globalVariableServerName,iteration">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
      </request>
      <response>
        <command>HTTP/1.0 400 Bad Request</command>
      </response>
    </step>
  
  
    <cleanup>
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName">DELETE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
        </request>
        <response>
          <command>HTTP/1.0 204 No Content</command>
        </response>
      </step>
    </cleanup>
  </test>
  
  
  
  
  1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/subscribeRefresh.xml
  
  Index: subscribeRefresh.xml
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
  <test>
    <specification>
      <abstract>Simple SUBSCRIBE/SUBSCRIBE(refresh)/UNSUBSCRIBE request</abstract>
      <description> </description>
      <expectedResult> </expectedResult>
    </specification>
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName,">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
          <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
          <header>Notification-Type: update</header>
        </request>
        <response>
          <command>HTTP/1.0 200 OK</command>
          <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
        </response>
      </step>
  
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName,">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
          <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
        </request>
        <response>
          <command>HTTP/1.0 200 OK</command>
        </response>
      </step>
  
      <step>
        <request>
          <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
          <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
        </request>
        <response>
          <command>HTTP/1.0 200 OK</command>
        </response>
      </step>
  </test>
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: WebDAV and Notifications

Posted by Oliver Zeigermann <oz...@c1-fse.de>.

Stefan Lützkendorf wrote:

> 
> Oliver Zeigermann wrote:
> 
>> Stefan Lützkendorf wrote:
>>
>>>
>>> Oliver Zeigermann wrote:
>>>
>>>> Stefan Lützkendorf wrote:
>>>>
>>>>> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>>>>>   all subscriptions are lost. So observation of an WebDAV server 
>>>>> may be
>>>>>   incomplete.
>>>>>   Has anybody thought about makeing subscriptions persitent?
>>>>>   I think about storing them as resources under a special path
>>>>>   (configurable, something like /subscriptions). Events catched for 
>>>>> the
>>>>>   subscriptions must be stored too, may be as content of the resource.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Hmmm. What is the use case you have in mind for persistent 
>>>> subscriptions? I know Daniel had something in mind like clustering, 
>>>> multiple edit clients that are notified of each other changes, etc. 
>>>> I do not think they would need persistent subscriptions.
>>>>
>>>> Anyway, what is your idea?
>>>
>>>
>>>
>>> I thougth about an application that observes a webdav server, maybe to
>>> index documents, or to keep a workflow system uptodate.
>>> If the webdav server application is restarted, for what reasons ever,
>>> there will be a time where changes on the webdav server are lost,
>>
>>
>>
>> I see. So maybe it should be configurable in a header or wherever if 
>> the subscription shall be persistet. Maybe also something like a 
>> timeout or time to live for a persistent subscription. Storing it to 
>> /subscriptions as an ordinary resource, maybe encoded in XML, sounds 
>> like a good idea to me.
>>
>> Do you volunteer to persue this? If so, will it be ready for a beta in 
>> early August?
>>
> Early August will be to early, but I'll persue this.

Great! No hurry, keep it fun and let's see how this evolves...

Oliver

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: WebDAV and Notifications

Posted by Stefan Lützkendorf <lu...@apache.org>.
Oliver Zeigermann wrote:
> Stefan Lützkendorf wrote:
> 
>>
>> Oliver Zeigermann wrote:
>>
>>> Stefan Lützkendorf wrote:
>>>
>>>> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>>>>   all subscriptions are lost. So observation of an WebDAV server may be
>>>>   incomplete.
>>>>   Has anybody thought about makeing subscriptions persitent?
>>>>   I think about storing them as resources under a special path
>>>>   (configurable, something like /subscriptions). Events catched for the
>>>>   subscriptions must be stored too, may be as content of the resource.
>>>
>>>
>>>
>>>
>>> Hmmm. What is the use case you have in mind for persistent 
>>> subscriptions? I know Daniel had something in mind like clustering, 
>>> multiple edit clients that are notified of each other changes, etc. I 
>>> do not think they would need persistent subscriptions.
>>>
>>> Anyway, what is your idea?
>>
>>
>> I thougth about an application that observes a webdav server, maybe to
>> index documents, or to keep a workflow system uptodate.
>> If the webdav server application is restarted, for what reasons ever,
>> there will be a time where changes on the webdav server are lost,
> 
> 
> I see. So maybe it should be configurable in a header or wherever if the 
> subscription shall be persistet. Maybe also something like a timeout or 
> time to live for a persistent subscription. Storing it to /subscriptions 
> as an ordinary resource, maybe encoded in XML, sounds like a good idea 
> to me.
> 
> Do you volunteer to persue this? If so, will it be ready for a beta in 
> early August?
> 
Early August will be to early, but I'll persue this.

Regards, Stefan


---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: WebDAV and Notifications

Posted by Oliver Zeigermann <oz...@c1-fse.de>.
Stefan Lützkendorf wrote:

> 
> Oliver Zeigermann wrote:
> 
>> Stefan Lützkendorf wrote:
>>
>>> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>>>   all subscriptions are lost. So observation of an WebDAV server may be
>>>   incomplete.
>>>   Has anybody thought about makeing subscriptions persitent?
>>>   I think about storing them as resources under a special path
>>>   (configurable, something like /subscriptions). Events catched for the
>>>   subscriptions must be stored too, may be as content of the resource.
>>
>>
>>
>> Hmmm. What is the use case you have in mind for persistent 
>> subscriptions? I know Daniel had something in mind like clustering, 
>> multiple edit clients that are notified of each other changes, etc. I 
>> do not think they would need persistent subscriptions.
>>
>> Anyway, what is your idea?
> 
> I thougth about an application that observes a webdav server, maybe to
> index documents, or to keep a workflow system uptodate.
> If the webdav server application is restarted, for what reasons ever,
> there will be a time where changes on the webdav server are lost,

I see. So maybe it should be configurable in a header or wherever if the 
subscription shall be persistet. Maybe also something like a timeout or 
time to live for a persistent subscription. Storing it to /subscriptions 
as an ordinary resource, maybe encoded in XML, sounds like a good idea 
to me.

Do you volunteer to persue this? If so, will it be ready for a beta in 
early August?

Cheers,
Oliver



---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: WebDAV and Notifications

Posted by Stefan Lützkendorf <lu...@apache.org>.
Oliver Zeigermann wrote:
> Stefan Lützkendorf wrote:
> 
>> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>>   all subscriptions are lost. So observation of an WebDAV server may be
>>   incomplete.
>>   Has anybody thought about makeing subscriptions persitent?
>>   I think about storing them as resources under a special path
>>   (configurable, something like /subscriptions). Events catched for the
>>   subscriptions must be stored too, may be as content of the resource.
> 
> 
> Hmmm. What is the use case you have in mind for persistent 
> subscriptions? I know Daniel had something in mind like clustering, 
> multiple edit clients that are notified of each other changes, etc. I do 
> not think they would need persistent subscriptions.
> 
> Anyway, what is your idea?
I thougth about an application that observes a webdav server, maybe to
index documents, or to keep a workflow system uptodate.
If the webdav server application is restarted, for what reasons ever,
there will be a time where changes on the webdav server are lost,
i.e. the observer is not informed, until it subscribes again.
If subscriptions are persitent, the server knows about them afer restart,
and no interruption of the observation does occur.

May be it is sufficent to have short subscription lifetimes, and
refresh the subscriptions often, so the interuption may be short
enought.

> 
> Oliver



---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: WebDAV and Notifications

Posted by Stefan Lützkendorf <lu...@apache.org>.
Michael Oliver wrote:
> I am starting work on a persistent mechanism for storing the
> subscriptions in xml in a particular path.

Fine!

> 
> Then I will be creating (already started) a secondary store to plug into
> our primary XML store to match subscriptions to the uri of the content
> store methods and use those matches to generate am email queue from the
> subscriptions, in another path.  Then we have a cron admin daemon that
> will scan that path and pick up and send the messages.
> 
> Michael Oliver
> CTO
> Matrix Intermedia Inc.
> 3325 N. Nellis Blvd, #1
> Las Vegas, NV 89115
> Phone:(702)643-7425
> Fax:(520)844-1036
> 
> -----Original Message-----
> From: Oliver Zeigermann [mailto:ozeigermann@c1-fse.de] 
> Sent: Tuesday, July 13, 2004 4:25 AM
> To: Slide Developers Mailing List
> Subject: Re: WebDAV and Notifications
> 
> Stefan Lützkendorf wrote:
> 
>>3. Currently Subscriptions are transient. I.e. if the server restarts,
>>  all subscriptions are lost. So observation of an WebDAV server may
> 
> be
> 
>>  incomplete.
>>  Has anybody thought about makeing subscriptions persitent?
>>  I think about storing them as resources under a special path
>>  (configurable, something like /subscriptions). Events catched for
> 
> the
> 
>>  subscriptions must be stored too, may be as content of the resource.
> 
> 
> Hmmm. What is the use case you have in mind for persistent 
> subscriptions? I know Daniel had something in mind like clustering, 
> multiple edit clients that are notified of each other changes, etc. I do
> 
> not think they would need persistent subscriptions.
> 
> Anyway, what is your idea?
> 
> Oliver
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: slide-dev-help@jakarta.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: slide-dev-help@jakarta.apache.org
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


RE: WebDAV and Notifications

Posted by Michael Oliver <ol...@matrix-media.com>.
I am starting work on a persistent mechanism for storing the
subscriptions in xml in a particular path.

Then I will be creating (already started) a secondary store to plug into
our primary XML store to match subscriptions to the uri of the content
store methods and use those matches to generate am email queue from the
subscriptions, in another path.  Then we have a cron admin daemon that
will scan that path and pick up and send the messages.

Michael Oliver
CTO
Matrix Intermedia Inc.
3325 N. Nellis Blvd, #1
Las Vegas, NV 89115
Phone:(702)643-7425
Fax:(520)844-1036

-----Original Message-----
From: Oliver Zeigermann [mailto:ozeigermann@c1-fse.de] 
Sent: Tuesday, July 13, 2004 4:25 AM
To: Slide Developers Mailing List
Subject: Re: WebDAV and Notifications

Stefan Lützkendorf wrote:
> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>   all subscriptions are lost. So observation of an WebDAV server may
be
>   incomplete.
>   Has anybody thought about makeing subscriptions persitent?
>   I think about storing them as resources under a special path
>   (configurable, something like /subscriptions). Events catched for
the
>   subscriptions must be stored too, may be as content of the resource.

Hmmm. What is the use case you have in mind for persistent 
subscriptions? I know Daniel had something in mind like clustering, 
multiple edit clients that are notified of each other changes, etc. I do

not think they would need persistent subscriptions.

Anyway, what is your idea?

Oliver

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: WebDAV and Notifications

Posted by Oliver Zeigermann <oz...@c1-fse.de>.
Stefan Lützkendorf wrote:
> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>   all subscriptions are lost. So observation of an WebDAV server may be
>   incomplete.
>   Has anybody thought about makeing subscriptions persitent?
>   I think about storing them as resources under a special path
>   (configurable, something like /subscriptions). Events catched for the
>   subscriptions must be stored too, may be as content of the resource.

Hmmm. What is the use case you have in mind for persistent 
subscriptions? I know Daniel had something in mind like clustering, 
multiple edit clients that are notified of each other changes, etc. I do 
not think they would need persistent subscriptions.

Anyway, what is your idea?

Oliver

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: WebDAV and Notifications

Posted by Daniel Florey <df...@apache.org>.
Hi Stefan,
nice to see that you are dealing with events...
See my comments below

Stefan Lützkendorf schrieb:

> I have added some support for WebDAV-notifications to the client library.
> (Not yet completly finished)
>
> Now I have some questions about our server implementation:
>
> 1. the POLL method returns some thing like
>         <?xml version="1.0" encoding="UTF-8"?>
>         <multistatus xmlns="DAV:">
>           <response>
>             <href>/c</href>
>             <status>HTTP/1.1 200 OK</status>
>             <N:subscriptionID 
> xmlns:N="http://schemas.microsoft.com/Exchange/">
>               <li>12</li>
>               <N:event>
>                 <N:information name="uri">/c/test.html</N:information>
>               </N:event>
>             </N:subscriptionID>
>           </response>
>         </multistatus>
>   I found no specification about the event and the information tag.
>   It contains information about the resources which are changed.
>   That's really usefull information!
>   Is there any spec about it?
>   It is an extension of an extension, and I'm not sure how to support
>   this in the webdav client lib.
>   Is it OK to support it by special methods and comment it as extension?

I've introduced this event information tag to enable events to add 
specific data to the occured event.
To add this information to an event just implement the RemoteInformation 
interface. Have a look at the ResourceEvent class to understand how it 
works. It's really simple.
As it is Slide specific and event specific there is no spec about it. 
I'm not sure if we should use this (nice) feature as Exchange does not 
provide this kind of information. If an application using notifications 
should work with Slide and Exchange it will not work anymore if the 
application relies on this additional information. So I've dropped this 
approach for the Projector framework.

>
> 2. what makes the EVENT method

The EVENT methods can be used to fire a custom event. This might be 
useful if you are having a clustered client side application and you 
want to use Slide to distribute some events to all listeners. I don't 
know if this is really useful. What do you think?

>
> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>   all subscriptions are lost. So observation of an WebDAV server may be
>   incomplete.
>   Has anybody thought about makeing subscriptions persitent?
>   I think about storing them as resources under a special path
>   (configurable, something like /subscriptions). Events catched for the
>   subscriptions must be stored too, may be as content of the resource.
>
> Any thoughts?

This might be a solution but might slow down Slide. Any work in this 
area is very welcome!
Regards,
Daniel

>
> Thanks, Stefan
>


---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


WebDAV and Notifications

Posted by Stefan Lützkendorf <lu...@apache.org>.
I have added some support for WebDAV-notifications to the client library.
(Not yet completly finished)

Now I have some questions about our server implementation:

1. the POLL method returns some thing like
         <?xml version="1.0" encoding="UTF-8"?>
         <multistatus xmlns="DAV:">
           <response>
             <href>/c</href>
             <status>HTTP/1.1 200 OK</status>
             <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
               <li>12</li>
               <N:event>
                 <N:information name="uri">/c/test.html</N:information>
               </N:event>
             </N:subscriptionID>
           </response>
         </multistatus>
   I found no specification about the event and the information tag.
   It contains information about the resources which are changed.
   That's really usefull information!
   Is there any spec about it?
   It is an extension of an extension, and I'm not sure how to support
   this in the webdav client lib.
   Is it OK to support it by special methods and comment it as extension?

2. what makes the EVENT method

3. Currently Subscriptions are transient. I.e. if the server restarts,
   all subscriptions are lost. So observation of an WebDAV server may be
   incomplete.
   Has anybody thought about makeing subscriptions persitent?
   I think about storing them as resources under a special path
   (configurable, something like /subscriptions). Events catched for the
   subscriptions must be stored too, may be as content of the resource.

Any thoughts?

Thanks, Stefan

-- 
+--------------------------------------------+
|                                            |
|  Stefan Lützkendorf                        |
|                                            |
|  Institut für Terminologie und             |
|  angewandte Wissensforschung (itaw) GmbH   |
|                                            |
|  Sitz: Georgenstr. 35                      |
|        10117 Berlin                        |
|  Tel.: ++49 (030) 30 86 20 84              |
|  Fax : ++49 (030) 30 86 20 87              |
|                                            |
+--------------------------------------------+


---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: cvs commit: jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification pollUpdateCollDepthInfinit.xml pollUpdateCollDepthOne.xml pollUpdateFile.xml subscribe200.xml subscribe400.xml subscribeRefresh.xml

Posted by Oliver Zeigermann <oz...@c1-fse.de>.
Just cool :)

Thanks for that :) :)

Oliver

luetzkendorf@apache.org wrote:

> luetzkendorf    2004/07/13 01:55:29
> 
>   Added:       testsuite/testsuite/junit/xmltestcases/functional/notification
>                         pollUpdateCollDepthInfinit.xml
>                         pollUpdateCollDepthOne.xml pollUpdateFile.xml
>                         subscribe200.xml subscribe400.xml
>                         subscribeRefresh.xml
>   Log:
>   some notification test cases added
>   
>   Revision  Changes    Path
>   1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/pollUpdateCollDepthInfinit.xml
>   
>   Index: pollUpdateCollDepthInfinit.xml
>   ===================================================================
>   <?xml version="1.0" encoding="utf-8"?>
>   <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
>   <test>
>     <specification>
>       <abstract>Tests POLL method with Update subscription (infinit depth) on a collection</abstract>
>       <description>
>         - create a collection
>         - subscribe for it (update, depth infinity)
>         - poll (NO events should be returned)
>         - put a new file
>         - poll (one event should be returned)
>         - poll (no events should be returned)
>         - proppatch on the file
>         - poll (one event should be returned)
>   
>         - create a sub collection
>         - poll (one event should be returned)
>         - put new file to sub collection
>         - poll (one event should be returned)
>         - put to same file 
>         - poll (one event should be returned)
>   
>         - proppatch on the file
>         - create a sub sub collection
>         - poll (two event should be returned)
>   
>         - unsubscribe
>         - delete
>       </description>
>       <expectedResult></expectedResult>
>     </specification>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName,iteration">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
>         <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
>         <header>Notification-Type: update</header>
>         <header>Depth: infinity</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 200 OK</command>
>         <header varDefinition="varContentLocation">Content-Location: *</header>
>         <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 204 No Content</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/test.html HTTP/1.1</command>
>         <body fileReference="../../contentDirectory/html.html" />
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 204 No Content</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/c1/test.html HTTP/1.1</command>
>         <header>Content-Type: text/xml</header>
>         <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <D:propertyupdate xmlns:D="DAV:">
>             <D:set>
>               <D:prop>
>                 <D:displayname>new display name</D:displayname>
>               </D:prop>
>             </D:set>
>           </D:propertyupdate>
>         ]]></body>
>       </request>
>       <response>
>         <command>HTTP/1.0 207 Multi-Status</command>
>         <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <d:multistatus xmlns:d="DAV">
>             <d:response>
>               <d:href>/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</d:href>
>               <d:propstat>
>                 <d:prop>
>                   <displayname />
>                 </d:prop>
>                 <d:status>HTTP/1.1 200 OK</d:status>
>               </d:propstat>
>             </d:response>
>           </d:multistatus>
>         ]]></body>
>       </response>
>     </step>
>     
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1/c2 HTTP/1.1</command>
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
>         <body fileReference="../../contentDirectory/html.html" />
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
>         <body fileReference="../../contentDirectory/html.html" />
>       </request>
>       <response>
>         <command>HTTP/1.1 204 No Content</command>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
>         <header>Content-Type: text/xml</header>
>         <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <D:propertyupdate xmlns:D="DAV:">
>             <D:set>
>               <D:prop>
>                 <D:displayname>new display name</D:displayname>
>               </D:prop>
>             </D:set>
>           </D:propertyupdate>
>         ]]></body>
>       </request>
>       <response>
>         <command>HTTP/1.0 207 Multi-Status</command>
>         <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <d:multistatus xmlns:d="DAV">
>             <d:response>
>               <d:href>/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</d:href>
>               <d:propstat>
>                 <d:prop>
>                   <displayname />
>                 </d:prop>
>                 <d:status>HTTP/1.1 200 OK</d:status>
>               </d:propstat>
>             </d:response>
>           </d:multistatus>
>         ]]></body>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1/c2/c3 HTTP/1.1</command>
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</N:information>
>                 </N:event>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2/c3</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>   
>   
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.0 200 OK</command>
>       </response>
>     </step>
>     
>     
>     <cleanup>
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName">DELETE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
>         </request>
>         <response>
>           <command>HTTP/1.1 204 No Content</command>
>         </response>
>       </step>
>     </cleanup>
>   </test>
>   
>   
>   
>   
>   1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/pollUpdateCollDepthOne.xml
>   
>   Index: pollUpdateCollDepthOne.xml
>   ===================================================================
>   <?xml version="1.0" encoding="utf-8"?>
>   <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
>   <test>
>     <specification>
>       <abstract>Tests POLL method with Update subscription (depth=1) on a collection</abstract>
>       <description>
>         - create a collection
>         - subscribe for it (update, depth 1)
>         - poll (NO events should be returned)
>         - put a new file
>         - poll (one event should be returned)
>         - poll (no events should be returned)
>         - proppatch on the file
>         - poll (one event should be returned)
>   
>         - create a sub collection
>         - poll (one event should be returned)
>   
>         - put new file to sub collection
>         - poll (NO event should be returned)
>         - proppatch on the file
>         - create a sub sub collection
>         - poll (NO event should be returned)
>   
>         - unsubscribe
>         - delete
>       </description>
>       <expectedResult></expectedResult>
>     </specification>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName,iteration">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
>         <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
>         <header>Notification-Type: update</header>
>         <header>Depth: 1</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 200 OK</command>
>         <header varDefinition="varContentLocation">Content-Location: *</header>
>         <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 204 No Content</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/test.html HTTP/1.1</command>
>         <body fileReference="../../contentDirectory/html.html" />
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 204 No Content</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/c1/test.html HTTP/1.1</command>
>         <header>Content-Type: text/xml</header>
>         <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <D:propertyupdate xmlns:D="DAV:">
>             <D:set>
>               <D:prop>
>                 <D:displayname>new display name</D:displayname>
>               </D:prop>
>             </D:set>
>           </D:propertyupdate>
>         ]]></body>
>       </request>
>       <response>
>         <command>HTTP/1.0 207 Multi-Status</command>
>         <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <d:multistatus xmlns:d="DAV">
>             <d:response>
>               <d:href>/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</d:href>
>               <d:propstat>
>                 <d:prop>
>                   <displayname />
>                 </d:prop>
>                 <d:status>HTTP/1.1 200 OK</d:status>
>               </d:propstat>
>             </d:response>
>           </d:multistatus>
>         ]]></body>
>       </response>
>     </step>
>     
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/test.html</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1/c2 HTTP/1.1</command>
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/c1/c2</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
>         <body fileReference="../../contentDirectory/html.html" />
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 204 No Content</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html HTTP/1.1</command>
>         <header>Content-Type: text/xml</header>
>         <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <D:propertyupdate xmlns:D="DAV:">
>             <D:set>
>               <D:prop>
>                 <D:displayname>new display name</D:displayname>
>               </D:prop>
>             </D:set>
>           </D:propertyupdate>
>         ]]></body>
>       </request>
>       <response>
>         <command>HTTP/1.0 207 Multi-Status</command>
>         <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <d:multistatus xmlns:d="DAV">
>             <d:response>
>               <d:href>/%globalVariableServerName%/%globalVariableCollection%/c1/c2/test.html</d:href>
>               <d:propstat>
>                 <d:prop>
>                   <displayname />
>                 </d:prop>
>                 <d:status>HTTP/1.1 200 OK</d:status>
>               </d:propstat>
>             </d:response>
>           </d:multistatus>
>         ]]></body>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">MKCOL /%globalVariableServerName%/%globalVariableCollection%/c1/c2/c3 HTTP/1.1</command>
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/c1</href>
>               <status>HTTP/1.1 204 No Content</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>   
>   
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.0 200 OK</command>
>       </response>
>     </step>
>     
>     
>     <cleanup>
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName">DELETE /%globalVariableServerName%/%globalVariableCollection%/c1 HTTP/1.1</command>
>         </request>
>         <response>
>           <command>HTTP/1.1 204 No Content</command>
>         </response>
>       </step>
>     </cleanup>
>   </test>
>   
>   
>   
>   
>   1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/pollUpdateFile.xml
>   
>   Index: pollUpdateFile.xml
>   ===================================================================
>   <?xml version="1.0" encoding="utf-8"?>
>   <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
>   <test>
>     <specification>
>       <abstract>Tests POLL method with Update subscription on a single file</abstract>
>       <description>
>         - put a file
>         - subscribe for it (update)
>         - poll (no events should be returned)
>         - put on same file
>         - poll (one event should be returned)
>         - poll (NO events should be returned)
>         - proppatch on the file
>         - poll (one event should be returned)
>   
>         - unsubscribe
>         - delete
>       </description>
>       <expectedResult></expectedResult>
>     </specification>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>         <body fileReference="../../contentDirectory/html.html" />
>       </request>
>       <response>
>         <command>HTTP/1.1 201 Created</command>
>       </response>
>     </step>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName,iteration">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>         <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
>         <header>Notification-Type: update</header>
>         <header>Depth: 0</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 200 OK</command>
>         <header varDefinition="varContentLocation">Content-Location: *</header>
>         <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/test.html</href>
>               <status>HTTP/1.1 204 No Content</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>         <body fileReference="../../contentDirectory/html.html" />
>       </request>
>       <response>
>         <command>HTTP/1.1 204 No Content</command>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/test.html</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/test.html</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/test.html</href>
>               <status>HTTP/1.1 204 No Content</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PROPPATCH /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>         <header>Content-Type: text/xml</header>
>         <body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <D:propertyupdate xmlns:D="DAV:">
>             <D:set>
>               <D:prop>
>                 <D:displayname>new display name</D:displayname>
>               </D:prop>
>             </D:set>
>           </D:propertyupdate>
>         ]]></body>
>       </request>
>       <response>
>         <command>HTTP/1.0 207 Multi-Status</command>
>         <body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
>           <d:multistatus xmlns:d="DAV">
>             <d:response>
>               <d:href>/%globalVariableServerName%/%globalVariableCollection%/test.html</d:href>
>               <d:propstat>
>                 <d:prop>
>                   <displayname />
>                 </d:prop>
>                 <d:status>HTTP/1.1 200 OK</d:status>
>               </d:propstat>
>             </d:response>
>           </d:multistatus>
>         ]]></body>
>       </response>
>     </step>
>     
>     <step>
>       <request>
>         <command varUsage="varContentLocation">POLL %varContentLocation% HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.1 207 Multi-Status</command>
>         <body varUsage="varSubscriptionID,globalVariableCollection,globalVariableServerName"><![CDATA[
>           <?xml version="1.0" encoding="UTF-8"?>
>           <multistatus xmlns="DAV:">
>             <response>
>               <href>/%globalVariableServerName%/%globalVariableCollection%/test.html</href>
>               <status>HTTP/1.1 200 OK</status>
>               <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
>                 <li>%varSubscriptionID%</li>
>                 <N:event>
>                   <N:information name="uri">/%globalVariableServerName%/%globalVariableCollection%/test.html</N:information>
>                 </N:event>
>               </N:subscriptionID>
>             </response>
>           </multistatus>
>         ]]></body>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>         <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>       </request>
>       <response>
>         <command>HTTP/1.0 200 OK</command>
>       </response>
>     </step>
>     
>     
>     <cleanup>
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName">DELETE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>         </request>
>         <response>
>           <command>HTTP/1.1 204 No Content</command>
>         </response>
>       </step>
>     </cleanup>
>   </test>
>   
>   
>   
>   
>   1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/subscribe200.xml
>   
>   Index: subscribe200.xml
>   ===================================================================
>   <?xml version="1.0" encoding="utf-8"?>
>   <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
>   <test>
>     <specification>
>       <abstract>Simple SUBSCRIBE/UNSUBSCRIBE request</abstract>
>       <description> </description>
>       <expectedResult> </expectedResult>
>     </specification>
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName,">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
>           <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
>           <header>Notification-Type: update</header>
>         </request>
>         <response>
>           <command>HTTP/1.0 200 OK</command>
>           <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
>         </response>
>       </step>
>   
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
>           <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>         </request>
>         <response>
>           <command>HTTP/1.0 200 OK</command>
>         </response>
>       </step>
>   </test>
>   
>   
>   
>   
>   1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/subscribe400.xml
>   
>   Index: subscribe400.xml
>   ===================================================================
>   <?xml version="1.0" encoding="utf-8"?>
>   <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
>   <test>
>     <specification>
>       <abstract>Testing that invalid SUBSCRIBE requests are properly rejected</abstract>
>       <description>
>         - put a file
>         - subscribe (without notification type)
>       </description>
>       <expectedResult>All SUBSCRIBE requests should return 400 Bad Request</expectedResult>
>     </specification>
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName">PUT /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>         <body fileReference="../../contentDirectory/html.html" />
>       </request>
>       <response>
>         <command>HTTP/1.0 201 Created</command>
>       </response>
>     </step>
>   
>     <step>
>       <request>
>         <command varUsage="globalVariableCollection,globalVariableServerName,iteration">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>       </request>
>       <response>
>         <command>HTTP/1.0 400 Bad Request</command>
>       </response>
>     </step>
>   
>   
>     <cleanup>
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName">DELETE /%globalVariableServerName%/%globalVariableCollection%/test.html HTTP/1.1</command>
>         </request>
>         <response>
>           <command>HTTP/1.0 204 No Content</command>
>         </response>
>       </step>
>     </cleanup>
>   </test>
>   
>   
>   
>   
>   1.1                  jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/notification/subscribeRefresh.xml
>   
>   Index: subscribeRefresh.xml
>   ===================================================================
>   <?xml version="1.0" encoding="utf-8"?>
>   <!DOCTYPE test SYSTEM "../../../Tprocessor.dtd">
>   <test>
>     <specification>
>       <abstract>Simple SUBSCRIBE/SUBSCRIBE(refresh)/UNSUBSCRIBE request</abstract>
>       <description> </description>
>       <expectedResult> </expectedResult>
>     </specification>
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName,">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
>           <header varUsage="globalVariableSubscriptionCallBack">Call-Back: %globalVariableSubscriptionCallBack%</header>
>           <header>Notification-Type: update</header>
>         </request>
>         <response>
>           <command>HTTP/1.0 200 OK</command>
>           <header varDefinition="varSubscriptionID">Subscription-ID: *</header>
>         </response>
>       </step>
>   
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName,">SUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
>           <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>         </request>
>         <response>
>           <command>HTTP/1.0 200 OK</command>
>         </response>
>       </step>
>   
>       <step>
>         <request>
>           <command varUsage="globalVariableCollection,globalVariableServerName,">UNSUBSCRIBE /%globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
>           <header varUsage="varSubscriptionID">Subscription-ID: %varSubscriptionID%</header>
>         </request>
>         <response>
>           <command>HTTP/1.0 200 OK</command>
>         </response>
>       </step>
>   </test>
>   
>   
>   
>   
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: slide-dev-help@jakarta.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org