public function prepareEngine() { switch ($this->navigation->controllerExtension) { case 'json': $this->_engine = EngineFactory::produce('AppJSONServiceEngine'); break; case 'xml': $this->_engine = EngineFactory::produce('AppXMLServiceEngine'); break; case 'prop': $this->_engine = EngineFactory::produce('AppPropertyServiceEngine'); break; case 'res': $this->_engine = EngineFactory::produce('AppResponseServiceEngine'); break; } parent::prepareEngine(); }
/** * Retrives the command name or serviceName & methodName and arguments. * * @see IDeserializedRequestHandler * @return the service call response */ public function handleDeserializedRequest($deserializedRequest, ServiceRouter $serviceRouter){ if( isset($deserializedRequest->command)){ // collab implementation. $command = implode(".", $deserializedRequest->command); $methodName = array_pop($command); $serviceName = implode(".", $command); }else{ // Silexlabs implementation. if(isset ($deserializedRequest->serviceName)){ $serviceName = $deserializedRequest->serviceName; }else{ throw new Exception("Service name field missing in POST parameters \n" . print_r($deserializedRequest, true)); } if(isset ($deserializedRequest->methodName)){ $methodName = $deserializedRequest->methodName; }else{ throw new Exception("MethodName field missing in POST parameters \n" . print_r($deserializedRequest, true)); } } $arguments = array(); if( isset($deserializedRequest->arguments)){ // collab implementation. $arguments = $deserializedRequest->arguments; }else if( isset ($deserializedRequest->parameters)){ // silexlabs implementatio. $arguments = $deserializedRequest->parameters; } return $serviceRouter->executeServiceCall($serviceName, $methodName, $arguments); }
public function prepareEngine() { switch ($this->navigation->spiritExtension) { case 'json': $this->_engine = EngineFactory::produce('SpiritJSONServiceEngine'); break; case 'xml': $this->_engine = EngineFactory::produce('SpiritXMLServiceEngine'); break; case 'prop': $this->_engine = EngineFactory::produce('SpiritPropertyServiceEngine'); break; case 'res': $this->_engine = EngineFactory::produce('SpiritResponseServiceEngine'); break; } parent::prepareEngine(); }