/**
  * @covers \NewFrontiers\Framework\Core\Request::getArray
  * @covers \NewFrontiers\Framework\Core\Request::present
  */
 public function testConstructor()
 {
     $test = ['key' => 'value'];
     $request = new Request($test);
     $this->assertCount(1, $request->getArray());
     $this->assertTrue($request->present('key'));
     $this->assertEquals('value', $request->key);
 }
 /**
  * @param Request $filter
  * @return ApiResource[]
  */
 public function filter($filter)
 {
     $maxResults = -1;
     if ($filter->present('$top')) {
         $name = '$top';
         $maxResults = $filter->{$name};
     }
     $skip = 0;
     if ($filter->present('$skip')) {
         $name = '$skip';
         $skip = $filter->{$name};
     }
     $entities = $this->entityRepository->filter($filter, $maxResults, $skip);
     $result = [];
     foreach ($entities as $entity) {
         $result[] = $this->getResourceFromEntity($entity);
     }
     return $result;
 }
 /**
  * Bearbeitet einen Request. Ist diese Instanz zuständig, so wir der Request
  * ausgeführt. Wenn nicht, dann wird false zuurückgegen.
  *
  * @param Request $request
  * @param Response $response
  * @return bool
  */
 public function handleResourceRequest(Request $request, Response $response)
 {
     if ($this->isResourceRequest($request->action)) {
         // TODO: Für die Berechtigungsprüfung braucht man die Action noch.
         // TODO: Ggf. als Resource erfassen um das loszuwerden?
         Logging::debug('Handling Request via ' . (string) $this);
         if ($request->present('id')) {
             $this->resource = $this->loadOrCreateResource($request->id);
         } else {
             $this->resource = $this->loadOrCreateResource();
         }
         $callable = $this->possibleActions[$request->action];
         $callable($request, $response);
         if ($response->getContent() instanceof View) {
             $response->getContent()->setResource($this->resource);
         }
         return true;
     }
     return false;
 }