<?xml version="1.0"?>
<!--
  Copyright 2002-2004 The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<!--
This test shows the waitFor tag waiting for multiple threads. 
-->

<jelly xmlns="jelly:core" xmlns:threads="jelly:threads">
    <threads:thread var="thread1">
        <whitespace>
        thread1: going to sleep for 1 second
        </whitespace>
        <threads:sleep for="1000"/>
    </threads:thread>

    <threads:thread var="thread2">
        <whitespace>
        thread2: going to sleep for 2 seconds
        </whitespace>
        <threads:sleep for="2000"/>
    </threads:thread>

    <!-- results in a FAILURE -->
    <threads:thread var="thread3">
            <new var="bogus" className="java.lang.System"/>
    </threads:thread>

    <!-- waits for thread 1 and 2 -->
    <threads:thread>
        <threads:waitfor thread="${thread1}" status="SUCCESS"/>
        <threads:waitfor thread="${thread2}" status="SUCCESS"/>

        <whitespace>
        thread4: finished waiting for thread1 and thread2
        </whitespace>
    </threads:thread>

    <!-- waits for thread 3 success -->
    <threads:thread>
        <threads:waitfor thread="${thread1}" status="SUCCESS"/>
        <threads:waitfor thread="${thread2}" status="SUCCESS"/>
        <threads:waitfor thread="${thread3}" status="SUCCESS"/>

        <whitespace>
        thread5: finished waiting for thread1 and thread2 and thread3 success
        </whitespace>
    </threads:thread>

    <!-- waits for thread 3 failure -->
    <threads:thread>
        <threads:waitfor thread="${thread1}" status="SUCCESS"/>
        <threads:waitfor thread="${thread2}" status="SUCCESS"/>
        <threads:waitfor thread="${thread3}" status="FAILURE"/>

        <whitespace>
        thread6: finished waiting for thread1 and thread2 and thread3 failure
        </whitespace>
    </threads:thread>

 </jelly>