protected function parseServiceTask($id, \DOMElement $el, BusinessProcessBuilder $builder) { if ($el->hasAttributeNS(self::NS_IMPL, 'class') && '' !== trim($el->getAttributeNS(self::NS_IMPL, 'class'))) { $delegateTask = $builder->delegateTask($id, $el->getAttributeNS(self::NS_IMPL, 'class'), $el->getAttribute('name')); $delegateTask->setDocumentation($builder->stringExp($this->getDocumentation($el))); $delegateTask->setAsyncBefore($this->getAsyncBefore($el)); $delegateTask->setAsyncAfter($this->getAsyncAfter($el)); return $delegateTask; } if ($el->hasAttributeNS(self::NS_IMPL, 'expression') && '' !== $el->getAttributeNS(self::NS_IMPL, 'expression')) { $expressionTask = $builder->expressionTask($id, $el->getAttributeNS(self::NS_IMPL, 'expression'), $el->getAttribute('name')); $expressionTask->setDocumentation($builder->stringExp($this->getDocumentation($el))); $expressionTask->setAsyncBefore($this->getAsyncBefore($el)); $expressionTask->setAsyncAfter($this->getAsyncAfter($el)); if ($el->hasAttributeNS(self::NS_IMPL, 'resultVariable')) { $expressionTask->setResultVariable($el->getAttributeNS(self::NS_IMPL, 'resultVariable')); } return $expressionTask; } $serviceTask = $builder->serviceTask($id, $el->getAttribute('name')); $serviceTask->setDocumentation($builder->stringExp($this->getDocumentation($el))); $serviceTask->setAsyncBefore($this->getAsyncBefore($el)); $serviceTask->setAsyncAfter($this->getAsyncAfter($el)); return $serviceTask; }