public function addResource($resourceUrl, $relative = true, $elementType = null) { $resourceCacheKey = $this->wf->SharedMemcKey('SDContextResource', $resourceUrl); $resourceData = $this->wg->Memc->get($resourceCacheKey); if (empty($resourceData)) { $resourceData = $this->APIClient->getContext($resourceUrl, $relative); $this->resources[$resourceUrl] = $resourceData->{"@context"}; $this->wg->Memc->set($resourceCacheKey, $this->resources[$resourceUrl], self::RESOURCE_CACHE_TTL); } else { $this->resources[$resourceUrl] = $resourceData; } // @todo tmp hack! remove when API will be fixed back $elementType = null; if (!empty($elementType)) { $descriptionCacheKey = $this->wf->SharedMemcKey('SDContextDescription', $resourceUrl); $objectDescriptionData = $this->wg->Memc->get($descriptionCacheKey); if (empty($objectDescriptionData)) { $objectDescriptionData = $this->APIClient->getObjectDescription($elementType); $this->objectDescriptions[$elementType] = $objectDescriptionData; $this->wg->Memc->set($descriptionCacheKey, $this->objectDescriptions[$elementType], self::DESCRIPTION_CACHE_TTL); } else { $this->objectDescriptions[$elementType] = $objectDescriptionData; } } $this->processResource($resourceUrl, $elementType); }
public function getObjectDescription() { // force json format $this->getResponse()->setFormat('json'); $objectType = $this->request->getVal('objectType', false); if (!empty($objectType)) { $description = $this->APIClient->getObjectDescription($objectType, true); $this->response->setBody($description); } }