<?xml version="1.0"?>
<testset>
  <positions/>
  <handlerwrapper>RescueHandlerWrapper</handlerwrapper>
  <dataelements>
    <title>""</title>
    <date>""</date>
    <selected_title>""</selected_title>
    <starting_time>""</starting_time>
    <selected_cinema/>
    <selected_date/>
    <hall/>
    <zip>1100</zip>
    <city/>
    <reservation_number/>
  </dataelements>
  <endpoints>
    <services>http://sumatra.wst.univie.ac.at:9290/groups/Cinemas/</services>
    <injection_handler>http://sumatra.wst.univie.ac.at:9291/</injection_handler>
    <select>http://sumatra.wst.univie.ac.at:9293/pgwl</select>
  </endpoints>  
  <description>
    <description xmlns="http://cpee.org/ns/description/1.0">
      <call id="collect_input" endpoint="select">
        <parameters>
          <method>post</method>
          <info>true</info>
          <templates>
            <uri>'http://gruppe.wst.univie.ac.at/~ralph/input-forms/cinemas.xsl'</uri>
            <name>'Cinemas-Input'</name>
            <lang>'EN'</lang>
          </templates>
        </parameters>
        <manipulate output="result">
          data.title = result.data.value('title')
          data.date = result.data.value('date')
          data.city = result.data.value('city')
        </manipulate>
      </call>
      <call id="use_repo_cinemas" endpoint="services">
        <constraints>
            <constraint xpath="address/city" comparator="==" variable="city"/>
        </constraints>
        <parameters><!--{{{--> 
          <info>true</info>
          <service>
            <serviceoperation>"search_and_book"</serviceoperation>
            <injection_handler>endpoints.injection_handler</injection_handler>
          </service>
          <additional_endpoints>
            <selector_service>"select"</selector_service>
          </additional_endpoints>
          <parameters>
            <title>data.title</title>
            <date>data.date</date>
          </parameters>
        </parameters><!--}}}-->
        <manipulate output="result">
        res = result[0]
          if res['status'] == 200 
            # Computing service responses
            data.reservation_number = res['reservation_id']
            data.starting_time = res['starting_time']
            data.selected_title = res['movie_title']
            data.selected_date = res['selected_date']
            data.hall = res['hall']
            # Computing properties of executed services
            perf_book = properties['call_book']['perform_book']
            data.selected_cinema = " #{perf_book.values[0]['vendor']['name']}\n#{perf_book.values[0]['address']['street']}\n#{perf_book.values[0]['address']['zip']} #{perf_book.values[0]['address']['city']}"
          end
        </manipulate>
      </call>  
      <call id="confirm" endpoint="select">
        <parameters>
          <method>post</method>
          <info>true</info>
          <templates>
            <uri>'http://gruppe.wst.univie.ac.at/~ralph/input-forms/cinemas.xsl'</uri>
            <!-- uri>'http://gus.lan/input-forms/cinemas.xsl'</uri -->
            <name>'Cinemas-Output'</name>
            <lang>'EN'</lang>
          </templates>
          <parameters>
            <title>data.selected_title</title>
            <date>data.selected_date</date>
            <time>data.starting_time</time>
            <hall>data.hall</hall>
            <res_nr>data.reservation_number</res_nr>
            <cinema>data.selected_cinema</cinema>
          </parameters>
        </parameters>
      </call>
    </description>
  </description>
  <transformation>
    <description type='xslt'>http://cpee.org/~demo/rescue-1.0.xslt</description>
    <dataelements type='rest'/>
    <endpoints type='rest'/>
  </transformation>
</testset>