<?xml version="1.0" encoding="UTF-8"?>
<s:scufl xmlns:s="http://org.embl.ebi.escience/xscufl/0.1alpha" version="0.2" log="0">
  <s:workflowdescription lsid="urn:lsid:net.sf.taverna:wfDefinition:36b55808-18e0-4269-ad57-7084227c7b77" author="" title="status-check" />
  <s:processor name="Fail_if_false">
    <s:local critical="true">org.embl.ebi.escience.scuflworkers.java.FailIfFalse</s:local>
  </s:processor>
  <s:processor name="CheckForSuccess">
    <s:beanshell>
      <s:scriptvalue>if (!(status.equals("eStatus_Success") ||
	status.equals("eStatus_Running") ||
	status.equals("eStatus_Queued") ||
        status.equals("eStatus_HitLimit") ||
        status.equals("eStatus_TimeLimit")))
{
	throw new Exception("Request error - job has failed");
}
success = (status.equals("eStatus_Success") ||  status.equals("eStatus_HitLimit") || status.equals("eStatus_TimeLimit")).toString();</s:scriptvalue>
      <s:beanshellinputlist>
        <s:beanshellinput s:syntactictype="'text/plain'">status</s:beanshellinput>
      </s:beanshellinputlist>
      <s:beanshelloutputlist>
        <s:beanshelloutput s:syntactictype="'text/plain'">success</s:beanshelloutput>
      </s:beanshelloutputlist>
      <s:dependencies s:classloader="iteration" />
    </s:beanshell>
  </s:processor>
  <s:processor name="GetOperationStatus">
    <s:description>Query for asynchronous
        operation status by AnyKey returned when operation was spawned.</s:description>
    <s:arbitrarywsdl>
      <s:wsdl>http://pubchem.ncbi.nlm.nih.gov/pug_soap/pug_soap.cgi?wsdl</s:wsdl>
      <s:operation>GetOperationStatus</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="GetOperationStatus_in">
    <s:local>
      org.embl.ebi.escience.scuflworkers.java.XMLInputSplitter
      <s:extensions>
        <s:complextype optional="false" unbounded="false" typename="GetOperationStatus" name="parameters" qname="{http://pubchem.ncbi.nlm.nih.gov/}GetOperationStatus">
          <s:elements>
            <s:basetype optional="false" unbounded="false" typename="string" name="AnyKey" qname="{http://pubchem.ncbi.nlm.nih.gov/}AnyKeyType&gt;AnyKey" />
          </s:elements>
        </s:complextype>
      </s:extensions>
    </s:local>
  </s:processor>
  <s:processor name="GetOperationStatus_out">
    <s:local>
      org.embl.ebi.escience.scuflworkers.java.XMLOutputSplitter
      <s:extensions>
        <s:complextype optional="false" unbounded="false" typename="GetOperationStatusResponse" name="parameters" qname="{http://pubchem.ncbi.nlm.nih.gov/}GetOperationStatusResponse">
          <s:elements>
            <s:basetype optional="false" unbounded="false" typename="string" name="status" qname="{http://pubchem.ncbi.nlm.nih.gov/}&gt;GetOperationStatusResponse&gt;status" />
          </s:elements>
        </s:complextype>
      </s:extensions>
    </s:local>
  </s:processor>
  <s:link source="KeyIn" sink="KeyOut" />
  <s:link source="CheckForSuccess:success" sink="Fail_if_false:test" />
  <s:link source="GetOperationStatus_in:output" sink="GetOperationStatus:parameters" />
  <s:link source="KeyIn" sink="GetOperationStatus_in:AnyKey" />
  <s:link source="GetOperationStatus:parameters" sink="GetOperationStatus_out:input" />
  <s:link source="GetOperationStatus_out:status" sink="CheckForSuccess:status" />
  <s:source name="KeyIn" />
  <s:sink name="KeyOut" />
</s:scufl>

