Exemplo n.º 1
0
 private function doLookupResourceUriTargetFor(ExpNsResource $expNsResource)
 {
     $poolCache = InMemoryPoolCache::getInstance()->getPoolCacheFor('sparql.store.redirectlookup');
     if (!$poolCache->contains($expNsResource->getUri())) {
         $poolCache->save($expNsResource->getUri(), $this->lookupResourceUriTargetFromDatabase($expNsResource));
     }
     return $poolCache->fetch($expNsResource->getUri());
 }
 /**
  * Store a value for a property identified by its title object. No
  * duplicate elimination as this is usually done in SMWSemanticData
  * already (which is typically used to generate this object).
  *
  * @param SMWExpNsResource $property
  * @param Element $child
  */
 public function addPropertyObjectValue(SMWExpNsResource $property, Element $child)
 {
     $this->hash = null;
     if (!array_key_exists($property->getUri(), $this->m_edges)) {
         $this->m_children[$property->getUri()] = array();
         $this->m_edges[$property->getUri()] = $property;
     }
     $this->m_children[$property->getUri()][] = $child;
 }
 public function testRedirectTargetForCachedLookup()
 {
     $dataItem = new DIWikiPage('Foo', NS_MAIN);
     $expNsResource = new ExpNsResource('Foo', 'Bar', '', $dataItem);
     $cache = $this->getMockBuilder('\\Onoi\\Cache\\Cache')->disableOriginalConstructor()->getMock();
     $cache->expects($this->once())->method('contains')->will($this->returnValue(true));
     $cache->expects($this->once())->method('fetch')->with($this->equalTo($expNsResource->getUri()))->will($this->returnValue($expNsResource));
     $connection = $this->getMockBuilder('\\SMWSparqlDatabase')->disableOriginalConstructor()->getMock();
     $instance = new RedirectLookup($connection, $cache);
     $exists = null;
     $instance->findRedirectTargetResource($expNsResource, $exists);
     $this->assertTrue($exists);
     $instance->clear();
 }