Example #1
0
 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();
 }
Example #2
0
	/**
	 * 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);
		
 	}
Example #3
0
 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();
 }