Beispiel #1
0
 /**
  * Move an item in the storage service to a given path.
  *
  * @TODO Support streams for those services that don't support natively
  *
  * @param  string $sourcePath
  * @param  string $destination path
  * @param  array $options
  * @return void
  */
 public function moveItem($sourcePath, $destinationPath, $options = array())
 {
     try {
         $fullSourcePath = $this->_getFullPath($sourcePath, $options);
         $fullDestPath = $this->_getFullPath($destinationPath, $options);
         return $this->_s3->moveObject($fullSourcePath, $fullDestPath, empty($options[self::METADATA]) ? null : $options[self::METADATA]);
     } catch (Zend_Service_Amazon_S3_Exception $e) {
         throw new Zend_Cloud_StorageService_Exception('Error on move: ' . $e->getMessage(), $e->getCode(), $e);
     }
 }
Beispiel #2
0
 /**
  * Move a file between two "storage" locations.
  *
  * @param string $source Original stored path.
  * @param string $dest Destination stored path.
  */
 public function move($source, $dest)
 {
     $sourceObject = $this->_getObjectName($source);
     $destObject = $this->_getObjectName($dest);
     $status = $this->_s3->moveObject($sourceObject, $destObject);
     if (!$status) {
         throw new Omeka_Storage_Exception('Unable to move file.');
     }
     _log("Omeka_Storage_Adapter_ZendS3: Moved '{$sourceObject}' to '{$destObject}'.");
 }
Beispiel #3
0
 /**
  * @depends testCopyObject
  * @depends testRemoveObject
  */
 public function testMoveObject()
 {
     $this->_amazon->createBucket($this->_bucket);
     $data = "testdata";
     $this->_amazon->putObject($this->_bucket . "/zftest", $data);
     $info1 = $this->_amazon->getInfo($this->_bucket . "/zftest");
     $this->_amazon->moveObject($this->_bucket . "/zftest", $this->_bucket . "/zftest2");
     $this->assertFalse($this->_amazon->isObjectAvailable($this->_bucket . "/zftest"));
     $this->assertTrue($this->_amazon->isObjectAvailable($this->_bucket . "/zftest2"));
     $info2 = $this->_amazon->getInfo($this->_bucket . "/zftest2");
     $this->assertEquals($info1['etag'], $info2['etag']);
 }