public function move($source, $destination)
{
list($sourcePrefix, $sourcePath) = $this->filterPrefix($source);
list($destPrefix, $destPath) = $this->filterPrefix($destination);
if (($sourceFs = $this->getFilesystem($sourcePrefix)) === null || ($destFs = $this->getFilesystem($destPrefix)) === null) {
throw new WriteException("No filesystem saved under prefix [{$sourcePrefix}].");
}
try {
if ($sourceFs->isFile($sourcePath)) {
$this->copyFile($source, $destination);
$sourceFs->removeFile($sourcePath);
} else {
$this->copyDir($source, $destination);
$sourceFs->removeDir($sourcePath);
}
return;
} catch (Error $ex) {
} catch (Exception $ex) {
}
throw new WriteException("Move operation from [{$source}] to [{$destination}] could not be completed.", $ex);
}