MediaWiki
1.23.2
|
FileBackend helper class for representing operations. More...
Public Member Functions | |
__construct (FileBackendStore $backend, array $params) | |
Build a new batch file operation transaction. More... | |
applyDependencies (array $deps) | |
Update a dependency tracking array to account for this operation. More... | |
attempt () | |
Attempt the operation. More... | |
attemptAsync () | |
Attempt the operation in the background. More... | |
dependsOn (array $deps) | |
Check if this operation changes files listed in $paths. More... | |
failed () | |
Check if this operation failed precheck() or attempt() More... | |
getBackend () | |
Get the backend this operation is for. More... | |
getJournalEntries (array $oPredicates, array $nPredicates) | |
Get the file journal entries for this file operation. More... | |
getParam ( $name) | |
Get the value of the parameter with the given name. More... | |
logFailure ( $action) | |
Log a file operation failure and preserve any temp files. More... | |
precheck (array &$predicates) | |
Check preconditions of the operation without writing anything. More... | |
setBatchId ( $batchId) | |
Set the batch UUID this operation belongs to. More... | |
storagePathsChanged () | |
Get a list of storage paths written to for this operation. More... | |
storagePathsRead () | |
Get a list of storage paths read from for this operation. More... | |
Static Public Member Functions | |
static | newDependencies () |
Get a new empty dependency tracking array for paths read/written to. More... | |
static | newPredicates () |
Get a new empty predicates array for precheck() More... | |
Public Attributes | |
const | STATE_ATTEMPTED = 3 |
const | STATE_CHECKED = 2 |
const | STATE_NEW = 1 |
Protected Member Functions | |
allowedParams () | |
Get the file operation parameters. More... | |
doAttempt () | |
doPrecheck (array &$predicates) | |
fileExists ( $source, array $predicates) | |
Check if a file will exist in storage when this operation is attempted. More... | |
fileSha1 ( $source, array $predicates) | |
Get the SHA-1 of a file in storage when this operation is attempted. More... | |
getSourceSha1Base36 () | |
precheckDestExistence() helper function to get the source file SHA-1. More... | |
precheckDestExistence (array $predicates) | |
Check for errors with regards to the destination file already existing. More... | |
setFlags (array $params) | |
Adjust params to FileBackendStore internal file calls. More... | |
Static Protected Member Functions | |
static | normalizeIfValidStoragePath ( $path) |
Normalize a string if it is a valid storage path. More... | |
Protected Attributes | |
bool | $async = false |
FileBackendStore | $backend |
string | $batchId |
bool | $destExists |
bool | $doOperation = true |
Operation is not a no-op *. More... | |
bool | $failed = false |
bool | $overwriteSameCase |
array | $params = array() |
string | $sourceSha1 |
int | $state = self::STATE_NEW |
FileBackend helper class for representing operations.
Do not use this class from places outside FileBackend.
Methods called from FileOpBatch::attempt() should avoid throwing exceptions at all costs. FileOp objects should be lightweight in order to support large arrays in memory and serialization.
Definition at line 36 of file FileOp.php.
|
final |
Build a new batch file operation transaction.
FileBackendStore | $backend | |
array | $params |
FileBackendError |
Definition at line 69 of file FileOp.php.
References $backend, $name, $params, allowedParams(), as, list, and normalizeIfValidStoragePath().
|
protected |
Get the file operation parameters.
Reimplemented in DescribeFileOp, DeleteFileOp, MoveFileOp, CopyFileOp, StoreFileOp, and CreateFileOp.
Definition at line 308 of file FileOp.php.
References array().
Referenced by __construct().
|
final |
Update a dependency tracking array to account for this operation.
array | $deps | Prior path reads/writes; format of FileOp::newPredicates() |
Definition at line 160 of file FileOp.php.
References storagePathsChanged(), and storagePathsRead().
|
final |
Attempt the operation.
Definition at line 263 of file FileOp.php.
References doAttempt(), failed(), logFailure(), Status\newFatal(), Status\newGood(), and STATE_ATTEMPTED.
Referenced by attemptAsync().
|
final |
Attempt the operation in the background.
Definition at line 295 of file FileOp.php.
References attempt().
|
final |
Check if this operation changes files listed in $paths.
array | $deps | Prior path reads/writes; format of FileOp::newPredicates() |
Definition at line 173 of file FileOp.php.
References $path, as, storagePathsChanged(), and storagePathsRead().
|
protected |
Reimplemented in DescribeFileOp, DeleteFileOp, MoveFileOp, CopyFileOp, StoreFileOp, and CreateFileOp.
Definition at line 286 of file FileOp.php.
References Status\newGood().
Referenced by attempt().
|
protected |
array | $predicates |
Reimplemented in DescribeFileOp, DeleteFileOp, MoveFileOp, CopyFileOp, StoreFileOp, and CreateFileOp.
Definition at line 254 of file FileOp.php.
References Status\newGood().
Referenced by precheck().
|
final |
Check if this operation failed precheck() or attempt()
Definition at line 132 of file FileOp.php.
References $failed.
Referenced by attempt(), and precheck().
|
finalprotected |
Check if a file will exist in storage when this operation is attempted.
string | $source | Storage path |
array | $predicates |
Definition at line 400 of file FileOp.php.
References $params, $source, and array().
Referenced by CopyFileOp\doPrecheck(), MoveFileOp\doPrecheck(), DeleteFileOp\doPrecheck(), DescribeFileOp\doPrecheck(), getJournalEntries(), and precheckDestExistence().
|
finalprotected |
Get the SHA-1 of a file in storage when this operation is attempted.
string | $source | Storage path |
array | $predicates |
Definition at line 417 of file FileOp.php.
References $params, $source, and array().
Referenced by DescribeFileOp\doPrecheck(), getJournalEntries(), and precheckDestExistence().
FileOp::getBackend | ( | ) |
Get the backend this operation is for.
Definition at line 434 of file FileOp.php.
References $backend.
Get the file journal entries for this file operation.
array | $oPredicates | Pre-op info about files (format of FileOp::newPredicates) |
array | $nPredicates | Post-op info about files (format of FileOp::newPredicates) |
Definition at line 195 of file FileOp.php.
References $path, array(), as, fileExists(), fileSha1(), storagePathsChanged(), and storagePathsRead().
|
final |
Get the value of the parameter with the given name.
string | $name |
Definition at line 123 of file FileOp.php.
References $name.
Referenced by CopyFileOp\doAttempt(), MoveFileOp\doAttempt(), CreateFileOp\doPrecheck(), CopyFileOp\doPrecheck(), MoveFileOp\doPrecheck(), DeleteFileOp\doPrecheck(), and precheckDestExistence().
|
protected |
precheckDestExistence() helper function to get the source file SHA-1.
Subclasses should overwride this if the source is not in storage.
Reimplemented in StoreFileOp, and CreateFileOp.
Definition at line 389 of file FileOp.php.
Referenced by precheckDestExistence().
|
final |
Log a file operation failure and preserve any temp files.
string | $action |
Definition at line 443 of file FileOp.php.
References $e, $params, FormatJson\encode(), and wfDebugLog().
Referenced by attempt().
|
staticfinal |
Get a new empty dependency tracking array for paths read/written to.
Definition at line 150 of file FileOp.php.
References array().
Referenced by FileOpBatch\attempt().
|
staticfinal |
Get a new empty predicates array for precheck()
Definition at line 141 of file FileOp.php.
References array().
Referenced by FileOpBatch\attempt().
|
staticprotected |
Normalize a string if it is a valid storage path.
string | $path |
Definition at line 98 of file FileOp.php.
References $path, $res, FileBackend\isStoragePath(), and FileBackend\normalizeStoragePath().
Referenced by __construct().
|
final |
Check preconditions of the operation without writing anything.
This must update $predicates for each path that the op can change except when a failing status object is returned.
array | $predicates |
Definition at line 237 of file FileOp.php.
References doPrecheck(), failed(), Status\newFatal(), and STATE_CHECKED.
|
protected |
Check for errors with regards to the destination file already existing.
Also set the destExists, overwriteSameCase and sourceSha1 member variables. A bad status will be returned if there is no chance it can be overwritten.
array | $predicates |
Definition at line 348 of file FileOp.php.
References fileExists(), fileSha1(), getParam(), getSourceSha1Base36(), and Status\newGood().
Referenced by CreateFileOp\doPrecheck(), StoreFileOp\doPrecheck(), CopyFileOp\doPrecheck(), and MoveFileOp\doPrecheck().
|
final |
Set the batch UUID this operation belongs to.
string | $batchId |
Definition at line 113 of file FileOp.php.
References $batchId.
|
protected |
Adjust params to FileBackendStore internal file calls.
array | $params |
Definition at line 318 of file FileOp.php.
References $params, and array().
Referenced by CreateFileOp\doAttempt(), StoreFileOp\doAttempt(), CopyFileOp\doAttempt(), MoveFileOp\doAttempt(), DeleteFileOp\doAttempt(), and DescribeFileOp\doAttempt().
FileOp::storagePathsChanged | ( | ) |
Get a list of storage paths written to for this operation.
Reimplemented in DescribeFileOp, DeleteFileOp, MoveFileOp, CopyFileOp, StoreFileOp, and CreateFileOp.
Definition at line 336 of file FileOp.php.
References array().
Referenced by applyDependencies(), dependsOn(), and getJournalEntries().
FileOp::storagePathsRead | ( | ) |
Get a list of storage paths read from for this operation.
Reimplemented in MoveFileOp, and CopyFileOp.
Definition at line 327 of file FileOp.php.
References array().
Referenced by applyDependencies(), dependsOn(), and getJournalEntries().
|
protected |
Definition at line 45 of file FileOp.php.
|
protected |
|
protected |
|
protected |
Definition at line 55 of file FileOp.php.
Referenced by CreateFileOp\doPrecheck(), StoreFileOp\doPrecheck(), CopyFileOp\doPrecheck(), and MoveFileOp\doPrecheck().
|
protected |
Operation is not a no-op *.
Definition at line 49 of file FileOp.php.
|
protected |
|
protected |
Definition at line 53 of file FileOp.php.
Definition at line 37 of file FileOp.php.
Referenced by __construct(), fileExists(), fileSha1(), logFailure(), and setFlags().
|
protected |
Definition at line 51 of file FileOp.php.
Referenced by CreateFileOp\doPrecheck(), StoreFileOp\doPrecheck(), CopyFileOp\doPrecheck(), and MoveFileOp\doPrecheck().
|
protected |
Definition at line 41 of file FileOp.php.
const FileOp::STATE_ATTEMPTED = 3 |
Definition at line 60 of file FileOp.php.
Referenced by attempt().
const FileOp::STATE_CHECKED = 2 |
Definition at line 59 of file FileOp.php.
Referenced by precheck().
const FileOp::STATE_NEW = 1 |
Definition at line 58 of file FileOp.php.