public function testDeepDeleteTriples() { list($file, $resource) = $this->getResource('/sample/test.xml'); //delete resource DeleteHelper::deepDeleteTriples($resource->getRdfTriples()); //see if all is deleted $this->assertCount(0, $resource->getRdfTriples()); $this->assertFalse($file->exists()); }
public function testDeepDeleteTriples() { //create resources $repository = \tao_models_classes_FileSourceService::singleton()->addLocalSource("Label Test", \tao_helpers_File::createTempDir()); $file = $repository->createFile("test.xml", "sample"); //delete resource DeleteHelper::deepDeleteTriples($file->getRdfTriples()); DeleteHelper::deepDeleteTriples($repository->getRdfTriples()); //see if all is deleted //try to get the resource $resourceTest = new \core_kernel_classes_Resource($repository->getUri()); $fileTest = new \core_kernel_classes_Resource($file->getUri()); $this->assertCount(0, $resourceTest->getRdfTriples()); $this->assertCount(0, $fileTest->getRdfTriples()); }
public function apply(core_kernel_classes_Resource $resource, $ownerId, $release = true) { $lock = $this->getLockData($resource); if ($lock === false) { return false; } if ($lock->getOwnerId() !== $ownerId) { throw new \common_exception_Unauthorized("The resource is owned by " . $lock->getOwnerId()); } \common_Logger::i('Applying changes to ' . $resource->getUri()); $innerModel = $this->getInnerModel(); $triples = $innerModel->getRdfsInterface()->getResourceImplementation()->getRdfTriples($resource); // bypasses the wrapper DeleteHelper::deepDeleteTriples($triples); $triples = $this->getWorkspaceModel()->getRdfsInterface()->getResourceImplementation()->getRdfTriples($lock->getWorkCopy()); $clones = CloneHelper::deepCloneTriples($triples); foreach ($clones as $triple) { $triple->modelid = $innerModel->getNewTripleModelId(); $triple->subject = $resource->getUri(); $innerModel->getRdfInterface()->add($triple); } if ($release) { $this->release($lock); } }