Пример #1
0
 public function testSnapshotIsTaken()
 {
     $spContainer = new SnapshotContainer($this->mockUnitOfWork());
     $graph = $this->getMockedGraph('foo:Bar', 'foo:uri:12345', array());
     $res = $this->getMockedResource('Foo\\Bar', 'foo:uri:12345', $graph);
     $spContainer->takeSnapshot($res);
     $ro = $spContainer->getSnapshot($res);
     $this->assertEquals($ro->getUri(), $res->getUri());
     $remove = $spContainer->removeSnapshot($res);
     $this->assertTrue($remove);
     $ro = $spContainer->getSnapshot($res);
     $this->assertNull($ro);
 }
Пример #2
0
 /**
  * Extracts snapshot for resource.
  *
  * @param $resource
  *
  * @return array
  */
 private function getSnapshotForResource(\Traversable $resources, $array = array())
 {
     $snapshot = array();
     foreach ($resources as $resource) {
         $snap = $this->initialSnapshots->getSnapshot($resource);
         if ($snap) {
             $bigSnapshot = $snap->getGraph()->toRdfPhp();
             $snapshot[$resource->getUri()] = $bigSnapshot[$resource->getUri()];
             //getting snapshots also for blank nodes
             if (!empty($bigSnapshot)) {
                 foreach ($bigSnapshot[$resource->getUri()] as $property => $values) {
                     return $bigSnapshot;
                     foreach ($values as $value) {
                         $array[] = $value['value'];
                         //                        if ((!$this->isManagementBlackListed($value['value'])) && $value['type'] === 'bnode' && isset($bigSnapshot[$value['value']])) {
                         //                            $snapshot[$value['value']] = $bigSnapshot[$value['value']];
                         //                        }
                     }
                 }
             }
             return $array;
         }
     }
     return $snapshot;
 }