Ejemplo n.º 1
0
 /**
  * Loads Resource list from configuration file for specific method or task
  *
  * @param   RApiHalDocumentResource  $resourceDocument  Resource document for binding the resource
  * @param   array                    $resources         Configuration for displaying object
  * @param   mixed                    $data              Data to bind to the resources
  * @param   string                   $resourceSpecific  Resource specific string that separates resources
  *
  * @return RApiHalDocumentResource
  */
 public function setDataValueToResource($resourceDocument, $resources, $data, $resourceSpecific = 'rcwsGlobal')
 {
     if (!empty($resources[$resourceSpecific])) {
         // Add links from the resource
         foreach ($resources[$resourceSpecific] as $resource) {
             if (!empty($resource['displayGroup'])) {
                 if ($resource['displayGroup'] == '_links') {
                     $linkRel = !empty($resource['linkRel']) ? $resource['linkRel'] : $this->assignGlobalValueToResource($resource['displayName']);
                     // We will force curries as link array
                     $linkPlural = $linkRel == 'curies';
                     $resourceDocument->setLink(new RApiHalDocumentLink($this->assignValueToResource($resource, $data), $linkRel, $resource['linkTitle'], $this->assignGlobalValueToResource($resource['linkName']), $resource['hrefLang'], RApiHalHelper::isAttributeTrue($resource, 'linkTemplated')), $linkSingular = false, $linkPlural);
                 } else {
                     $resourceDocument->setDataGrouped($resource['displayGroup'], $this->assignGlobalValueToResource($resource['displayName']), $this->assignValueToResource($resource, $data));
                 }
             } else {
                 $resourceDocument->setData($this->assignGlobalValueToResource($resource['displayName']), $this->assignValueToResource($resource, $data));
             }
         }
     }
     return $resourceDocument;
 }