Example #1
0
 /**
  * @param Request $instance
  * @param array[] $params
  */
 protected function applyParams($instance, $params)
 {
     $instance->setParameters($params['get']);
     $instance->setParameters($params['post']);
     $instance->setUploadedFiles($params['files']);
     $this->applyWebContext($instance, $params['server']);
     foreach ($params['cookies'] as $name => $value) {
         $instance->addCookie($name, $value);
     }
 }
Example #2
0
 public function testSetParameters()
 {
     $request = new Request('http://google.com', 'GET');
     $request->setParameters(array('foo' => 'bar'), true);
     $this->assertEquals(array('foo' => 'bar'), $request->getParameters(), 'Set parameters failed');
     $request->setParameters(array('foo' => 'bar2'), true);
     $this->assertEquals(array('foo' => 'bar2'), $request->getParameters(), 'Overwrite parameter failed');
     $request->setParameters(array('foo2' => 'bar'), true);
     $this->assertEquals(array('foo' => 'bar2', 'foo2' => 'bar'), $request->getParameters(), 'Set second parameter failed');
     $request->setParameters(array('bla' => 'blub'));
     $this->assertEquals(array('bla' => 'blub'), $request->getParameters(), 'Reset parameter failed');
 }
Example #3
0
 public function execute($entity, $url = null, $method = Client::GET, $parameters = null)
 {
     if (is_object($entity)) {
         $className = get_class($entity);
     } else {
         $className = $entity;
     }
     $configuration = $this->getEntityConfiguration($className);
     $request = new Request();
     $request->setUrl($url);
     $request->setMethod($method);
     $request->setParameters($parameters);
     $request->setUsername($configuration->getUsername());
     $request->setPassword($configuration->getPassword());
     $request->setResponseType($configuration->getResponseType());
     $request->setResponseTransformerImpl($configuration->getResponseTransformerImpl());
     $result = $this->_client->execute($request);
     if (is_array($result)) {
         $name = $configuration->getName();
         $identifierKey = $configuration->getIdentifierKey();
         $className = $configuration->getClass();
         if (isset($result[$name]) && is_array($result[$name])) {
             $collection = array();
             foreach ($result[$name] as $data) {
                 $identifier = $data[$identifierKey];
                 if (isset($this->_identityMap[$className][$identifier])) {
                     $instance = $this->_identityMap[$className][$identifier];
                 } else {
                     $instance = $configuration->newInstance();
                     $this->_identityMap[$className][$identifier] = $instance;
                 }
                 $collection[] = $this->_hydrate($configuration, $instance, $data);
             }
             return $collection;
         } else {
             if ($result) {
                 if (is_object($entity)) {
                     $instance = $entity;
                     $this->_hydrate($configuration, $instance, $result);
                     $identifier = $this->getEntityIdentifier($instance);
                     $this->_identityMap[$className][$identifier] = $instance;
                 } else {
                     $identifier = $result[$identifierKey];
                     if (isset($this->_identityMap[$className][$identifier])) {
                         $instance = $this->_identityMap[$className][$identifier];
                     } else {
                         $instance = $configuration->newInstance();
                         $this->_identityMap[$className][$identifier] = $instance;
                     }
                     $this->_hydrate($configuration, $instance, $result);
                 }
                 return $instance;
             }
         }
     } else {
         return array();
     }
 }
Example #4
0
 public static function all($page = 1, $count = 10)
 {
     $request = new Request(self::getUrl(), 'GET');
     $request->setParameters(array("page" => $page, "per_page" => $count));
     $response = $request->run();
     $return_array = array();
     $class = get_called_class();
     foreach ($response as $r) {
         $return_array[] = new $class($r);
     }
     return $return_array;
 }