/** * @see PropertyLookup::getPropertyForId */ public function getPropertyForId(PropertyId $propertyId) { try { return $this->entityDocumentLookup->getEntityDocumentForId($propertyId); } catch (EntityNotFoundException $e) { throw new PropertyNotFoundException($e->getEntityId()); } }
/** * @see EntityDocumentLookup::getEntityDocumentsForIds */ public function getEntityDocumentsForIds(array $entityIds) { $entities = array(); $entityIdsToRetrieve = array(); foreach ($entityIds as $entityId) { try { $entities[] = $this->entityCache->fetch($entityId); } catch (EntityNotFoundException $e) { $entityIdsToRetrieve[] = $entityId; } } $additionalEntities = array(); if (!empty($entityIdsToRetrieve)) { $additionalEntities = $this->entityLookup->getEntityDocumentsForIds($entityIdsToRetrieve); } foreach ($additionalEntities as $entity) { $this->entityCache->save($entity); } return array_merge($entities, $additionalEntities); }
/** * @see EntityDocumentLookup::getEntityDocumentsForIds */ public function getEntityDocumentsForIds(array $entityIds) { $entities = []; $entityIdsToRetrieve = []; foreach ($entityIds as $entityId) { $entity = $this->entityCache->fetch($entityId); if ($entity === null) { $entityIdsToRetrieve[] = $entityId; } else { $entities[] = $entity; } } $additionalEntities = []; if (!empty($entityIdsToRetrieve)) { $additionalEntities = $this->entityLookup->getEntityDocumentsForIds($entityIdsToRetrieve); } foreach ($additionalEntities as $entity) { $this->entityCache->save($entity); } return array_merge($entities, $additionalEntities); }