コード例 #1
0
 /**
  * This function is used to test all setter/getter
  */
 public function setter($testArray, $service)
 {
     foreach ($testArray as $property => $value) {
         $property = Utils::deleteUnderscore($property);
         $setter = 'set' . ucfirst($property);
         $getter = 'get' . ucfirst($property);
         $service->{$setter}($value);
         $result = $service->{$getter}();
         $this->assertEquals($result, $value);
     }
 }
コード例 #2
0
 /**
  * {@inheritDoc}
  */
 public function convertToObjectRequest($query)
 {
     $factory = new RequestFactory();
     $request = $factory->create($query['api']);
     if (isset($query['parameters'])) {
         try {
             $request = Utils::setter($request, $query['parameters']);
         } catch (NavitiaCreationException $e) {
             $alias = array('parameters' => $query['parameters']);
             $request = Utils::setter($request, $alias);
         }
     }
     return $request;
 }
コード例 #3
0
 /**
  * {@inheritDoc}
  */
 public function transform($request, $params)
 {
     $params = ltrim($params, "?");
     $actionParameters = explode("&", $params);
     foreach ($actionParameters as $parameters) {
         $parameter = explode("=", $parameters);
         $property = Utils::deleteUnderscore($parameter[0]);
         $setter = 'set' . ucfirst($property);
         if (method_exists($request, $setter)) {
             $request->{$setter}($parameter[1]);
         } else {
             throw new NavitiaCreationException(sprintf('Neither property "%s" nor method "%s"' . 'nor method "%s" exist.', $property, 'get' . ucfirst($property), $setter));
         }
     }
     return $request;
 }
コード例 #4
0
ファイル: Utils.php プロジェクト: jbcrestot/NavitiaComponent
 /**
  * Fonction permettant de setter
  * @param object $request
  * @param array $params
  * @return object
  * @throws NavitiaCreationException
  */
 public static function setter($request, $params)
 {
     if (is_array($params)) {
         foreach ($params as $property => $value) {
             $property = Utils::deleteUnderscore($property);
             $setter = 'set' . ucfirst($property);
             if (method_exists($request, $setter)) {
                 $request->{$setter}($value);
             } else {
                 throw new NavitiaCreationException(sprintf('Neither property "%s" nor method "%s"' . 'nor method "%s" exist.', $property, 'get' . ucfirst($property), $setter));
             }
         }
     } else {
         throw new NavitiaCreationException(sprintf('The parameter (type "%s") will be an Array', gettype($params)));
     }
     return $request;
 }
コード例 #5
0
 /**
  * {@inheritDoc}
  */
 protected function buildParametersType()
 {
     $parametersType = Utils::deleteUnderscore($this->getAction());
     return $parametersType;
 }
コード例 #6
0
 /**
  * Test For setter Function
  * This Test will have an NavitiaCreationException
  *
  * @expectedException Navitia\Component\Exception\NavitiaCreationException
  */
 public function testSetter()
 {
     Utils::setter(null, 'bar');
 }
コード例 #7
0
 /**
  * {@inheritDoc}
  */
 public function transform($request, $params)
 {
     return Utils::setter($request, $params);
 }
コード例 #8
0
 /**
  * {@inheritDoc}
  */
 public function transform($config)
 {
     $result = new NavitiaConfiguration();
     return Utils::setter($result, $config);
 }