/**
  * @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);
 }
 /**
  * Setzt die Informationen der geöffneten Seite den Request und Response
  * Objekten.
  *
  * @param Request $request
  * @param Page $page
  */
 public function setCurrentPage(&$request, $page)
 {
     Profiler::startSection('Routing.setCurrentPage');
     Application::getInstance()->setCurrentPage($page);
     $response = Application::getCurrentResponse();
     $request->module = $page->pa_module;
     $request->action = $page->pa_action;
     $request->innerTemplate = $page->pa_innertemplate;
     $request->parseParameter($page->pa_parameter);
     $this->generateBreadcrumbsForPage($page);
     Profiler::endSection('Routing.setCurrentPage');
 }
 /**
  * @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;
 }
 protected function addRequest(Control $outerPanel, Request $request, &$i)
 {
     $i++;
     $innerPanel = new CaptionedPanelControl($outerPanel, 'nfsReq' . $i);
     $innerPanel->setCaption($request->module . '::' . $request->action);
     $innerPanel->add($this->getListView('nfsReqView' . $i, $this->arrayToDataArray($request->getFullArray())));
     foreach ($request->getSubRequests() as $current) {
         $this->addRequest($outerPanel, $current, $i);
     }
 }
 /**
  * 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;
 }
 /**
  * Füllt das Request-Objekt auf Basis des Pathinfo.
  * @param Request $request
  * @param string $pathinfo
  */
 public function fillRequestByPathinfo(&$request, $pathinfo)
 {
     // Route: {module}/{action}/{key}/{value}/{key}/{value}/{addendum}...
     $queryString = explode('/', $pathinfo);
     $request->setParts($queryString);
     for ($i = 0; $i < count($queryString); $i++) {
         if ($i === 0) {
             $request->module = ucfirst($queryString[$i]);
         } elseif ($i === 1) {
             $request->action = $queryString[$i];
         } else {
             $key = $queryString[$i];
             $i++;
             if (isset($queryString[$i])) {
                 $request->{$key} = $queryString[$i];
             } else {
                 $request->addendum = $key;
             }
         }
     }
 }