public function testGetPropertyMap()
 {
     $this->assertFileExists(__DIR__ . '/sample/test.xml');
     $dir = $this->getTempDirectory();
     $file = $dir->getFile('/sample/test.xml');
     $file->put(file_get_contents(__DIR__ . '/sample/test.xml'));
     /** @var FileReferenceSerializer $serializer */
     $serializer = ServiceManager::getServiceManager()->get(FileReferenceSerializer::SERVICE_ID);
     $fileUri = $serializer->serialize($file);
     //see if clone file works
     $rdfsTriple = new \core_kernel_classes_Triple();
     $rdfsTriple->predicate = "http://www.w3.org/1999/02/22-rdf-syntax-ns#value";
     $rdfsTriple->object = $fileUri;
     $return = CloneHelper::getPropertyStorageMap([$rdfsTriple]);
     $this->assertEquals($dir->getFileSystemId(), reset($return));
 }
 /**
  * (non-PHPdoc)
  * @see \oat\taoRevision\model\Repository::restore()
  */
 public function restore(Revision $revision)
 {
     $resourceId = $revision->getResourceId();
     $data = $this->getStorage()->getData($revision);
     $resource = new \core_kernel_classes_Resource($resourceId);
     $originFilesystemMap = CloneHelper::getPropertyStorageMap($resource->getRdfTriples());
     DeleteHelper::deepDelete($resource);
     foreach (CloneHelper::deepCloneTriples($data, $originFilesystemMap) as $triple) {
         ModelManager::getModel()->getRdfInterface()->add($triple);
     }
     return true;
 }